Kom igångKom igång gratis

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

Visa kurs

Ö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]))
Redigera och kör kod