кодесурса
«Python

Структуры и алгоритмы данных Python: пузырьковая сортировка

script1adsense2code
script1adsense3code

Поиск и сортировка в Python: упражнение 4 с решением

Напишите программу на Python для сортировки списка элементов с использованием алгоритма пузырьковой сортировки.
Примечание. Согласно Википедии «Пузырьковая сортировка, иногда называемая сортировкой по убыванию, представляет собой простой алгоритм сортировки, который последовательно проходит по списку для сортировки, сравнивает каждую пару смежных элементов и меняет их местами, если они находятся в неправильном порядке. Пропуск через список повторяется до тех пор, пока не понадобятся перестановки, что указывает на сортировку списка. Алгоритм, который является сортировкой сравнения, назван так, чтобы меньшие элементы «пузырились» в верхней части списка. Хотя алгоритм прост , он слишком медленный и непрактичный для большинства задач, даже по сравнению с сортировкой вставок. Это может быть практичным, если входные данные обычно находятся в порядке сортировки, но иногда могут иметь некоторые неупорядоченные элементы почти в своем положении.

Пошаговая наглядная презентация:

Пример решения : -

Код Python:

def bubbleSort(nlist):
    for passnum in range(len(nlist)-1,0,-1):
        for i in range(passnum):
            if nlist[i]>nlist[i+1]:
                temp = nlist[i]
                nlist[i] = nlist[i+1]
                nlist[i+1] = temp
nlist = [14,46,43,27,57,41,45,21,70]
bubbleSort(nlist)
print(nlist)

Пример вывода:

 [14, 21, 27, 41, 43, 45, 46, 57, 70]

Блок - схема:

«Блок-схема:


Редактор кода Python:

Внесите свой код и комментарии через Disqus.

Previous: написать программу на Python для двоичного поиска упорядоченного списка.
Далее: Напишите программу на Python для сортировки списка элементов с использованием алгоритма сортировки выбора.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code