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
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]))