Виправлення помилки в алгоритмі бульбашкового сортування
Вам надали програму, що сортує список чисел за допомогою алгоритму бульбашкового сортування. Під час тестування ви помітили, що код працює некоректно. Чи зможете ви виправити алгоритм так, щоб він працював правильно?
Ця вправа є частиною курсу
Структури даних і алгоритми в Python
Інструкції до вправи
- Виправте помилку в присвоєнні змінної
is_sorted. - Виправте помилку під час перевірки сусідніх значень.
- Виправте помилку під час оновлення значення змінної
list_length.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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]))