Структуры и алгоритмы данных Python: пузырьковая сортировка
Поиск и сортировка в 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 программирования