Aan de slagGa gratis aan de slag

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

Cursus bekijken

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]))
Code bewerken en uitvoeren