Сортировка пузырьком на Python

Программа будет сортировать список методом Пузырька.

Шаги к правильному решению

  1. Создадим функцию bubble_sort, которая принимает на вход список.
  2. Внутри функции создадим цикл с переменной i, которая будет исчисляться от (длины списка - 1) до 1.
  3. Создадим внутренний цикл с переменной j от 0 до i - 1.
  4. Во внутреннем цикле, если значение элементов с индексами j и j + 1 не подходит под сортировку (в нашем случае — элемент с индексом j + 1 меньше, чем элемент с индексом j), тогда меняем их местами.
  5. Если на одном из проходов по внутреннему циклу у нас нет перестановок, значит список отсортирован и можно выходить из цикла.

Исходный код для сортировки пузырьком:

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)
Прокрутить вверх