Rätta ett fel i bubble sort-algoritmen
Du har fått ett program som sorterar en lista med tal med hjälp av bubble sort-algoritmen. När du testar det märker du att koden inte fungerar korrekt. Kan du rätta algoritmen så att den fungerar som den ska?
Den här övningen är en del av kursen
Datastrukturer och algoritmer i Python
Övningsinstruktioner
- Rätta felet i tilldelningen av variabeln
is_sorted. - Rätta felet vid kontrollen av angränsande värden.
- Rätta felet vid uppdateringen av värdet för variabeln
list_length.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
def bubble_sort(my_list):
list_length = len(my_list)
# Correct the mistake
is_sorted = True
while not is_sorted:
is_sorted = True
for i in range(list_length-1):
# Correct the mistake
if my_list[i] < my_list[i+1]:
my_list[i] , my_list[i+1] = my_list[i+1] , my_list[i]
is_sorted = False
# Correct the mistake
list_length += 1
return my_list
print(bubble_sort([5, 7, 9, 1, 4, 2]))