IniziaInizia gratis

Correggere un bug nell'algoritmo bubble sort

Ti è stato fornito un programma che ordina una lista di numeri usando l'algoritmo di bubble sort. Durante i test, ti accorgi che il codice non è corretto. Puoi correggere l'algoritmo in modo che funzioni correttamente?

Questo esercizio fa parte del corso

Strutture dati e algoritmi in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Correggi l'errore nell'assegnazione della variabile is_sorted.
  • Correggi l'errore nel controllo dei valori adiacenti.
  • Correggi l'errore nell'aggiornamento del valore della variabile list_length.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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]))
Modifica ed esegui il codice