Een bug in het bubble sort-algoritme oplossen
Je hebt een programma gekregen dat een lijst met getallen sorteert met het bubble sort-algoritme. Tijdens het testen merk je dat de code niet klopt. Kun je het algoritme corrigeren zodat het correct werkt?
Deze oefening maakt deel uit van de cursus
Datastructuren en algoritmen in Python
Oefeninstructies
- Corrigeer de fout in de toekenning van de variabele
is_sorted. - Corrigeer de fout bij het controleren van de aangrenzende waarden.
- Corrigeer de fout bij het bijwerken van de waarde van de variabele
list_length.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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]))