Программа будет сортировать список методом Пузырька.
Шаги к правильному решению
- Создадим функцию
bubble_sort
, которая принимает на вход список. - Внутри функции создадим цикл с переменной
i
, которая будет исчисляться от (длины списка - 1
) до 1. - Создадим внутренний цикл с переменной
j
от 0 доi - 1
. - Во внутреннем цикле, если значение элементов с индексами
j
иj + 1
не подходит под сортировку (в нашем случае — элемент с индексомj + 1
меньше, чем элемент с индексомj
), тогда меняем их местами. - Если на одном из проходов по внутреннему циклу у нас нет перестановок, значит список отсортирован и можно выходить из цикла.
Исходный код для сортировки пузырьком:
def bubble_sort(alist): for i in range(len(alist) - 1, 0, -1): no_swap = True for j in range(0, i): if alist[j + 1] < alist[j]: alist[j], alist[j + 1] = alist[j + 1], alist[j] no_swap = False if no_swap: return alist = input('Enter the list of numbers: ').split() alist = [int(x) for x in alist] bubble_sort(alist) print('Sorted list: ', end='') print(alist)