Correction d'un bogue dans l'algorithme de tri à bulles
On vous a donné un programme qui trie une liste de nombres à l'aide de l'algorithme de tri à bulles. En le testant, vous vous rendez compte que le code n'est pas correct. Pourriez-vous corriger l'algorithme afin qu'il fonctionne correctement ?
Cet exercice fait partie du cours
Structures de données et algorithmes en Python
Instructions
- Corrigez l'erreur d'affectation de la variable
is_sorted
. - Corrigez l'erreur lors de la vérification des valeurs adjacentes.
- Corrigez l'erreur lors de la mise à jour de la valeur de la variable
list_length
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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]))