Итак, у меня есть этот алгоритм пузырьковой сортировки, который работал только в порядке возрастания , поэтому я пытаюсь адаптировать программу, передавая 'возрастанию' или 'убыванию' в качестве параметра функции, которая изменит оператор с «>» на «<» при сравнении соседних элементов в списке.Я пробовал это, у кого-нибудь есть идеи?Я хотел бы сохранить код в том виде, как он есть, и попытаться, а не добавлять оператор if, который повторяет весь код для каждого условия. </p>
array=[5,7,0,4,3,24,-1,83,2,1]
def BubbleSort(alist, order):
position=0
swapmade=True
if order == 'ascending':
symbol = '>'
elif order == 'descending':
symbol = '<'
while swapmade == True:
swapmade=False
for count in range(len(alist)-1):
LB=alist[position]
UB=alist[position+1]
if alist[position] + symbol + alist[position+1]:
LB,UB=UB,LB
alist.remove(alist[position+1])
alist.insert(position, LB)
swapmade=True
position=position+1
if position+1 == len(alist):
position=0
return alist
result = BubbleSort(array, 'ascending')
print(*result)