Задача. Отсортировать заданный массив методом "сортировка пузырьком".

Сортировка пузырьком - самый известный алгоритм, применяемый в учебных целях, для практического же применения является слишком медленным. Алгоритм лежит в основе более сложных алгоритмов: "Шейкерная сортировка", "Пирамидальная сортировка", "Быстрая сортировка".

Сортировка заключается в повторяющихся проходах по массиву, при которых попарно сравниваются каждые 2 соседних элемента, больший из которых перемещается в правую сторону. Алгоритм работает до тех пор, пока элементы массива не будут расположены в порядке возрастания.

Например у нас есть массив:

4 23 6 2 12 100 9

Нам нужно получить отсортированный массив:

2 4 6 9 12 23 100

Решение на Python выглядит следующим образом (примечание: перем. j - количество просмотров массива, i - индекс элемента массива):

 

lst = [4, 23, 6, 2, 12, 100, 9]

j = 0

for j in range(len(lst)):

    for i in range(len(lst) -1):

        if lst[i] > lst[i + 1]:

            lst[i], lst[i + 1] = lst[i + 1], lst[i]

        i += 1

print (lst)