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



В Python уже есть встроенные функции сортировок массивов sort() и .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.



Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит. В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.



 def bubble_sort(array):

for i in range(len(array), 0, -1):

for j in range(1, i):

if array[j - 1] > array[j]:

tmp = array[j-1]

array[j-1] = array[j]

array[j] = tmp

return array



Для наглядности визуальная реализация сортировки представлена ниже. #алгоритм