Доброго времени суток, читатели, зрители моего канала programmer's notes, любители языка Python. Не забывайте подписываться и писать свои
комментарии к моим статьям и видео.
Алгоритм шейкерной сортировки на языке Python
Шейкер это инструмент бармена по приготовлению коктейлей. От слова shake, т.е. трясти. Т.е. быстро двигать влево и вправо или вверх и вниз. Шейкерная сортировка это модификация пузырьковой сортировки, когда пузырёк движется то в одну, то в другую сторону. Ну или говорят еще, что пузырёк всплывает, а шарик тонет.
Внутри внешнего бесконечного цикла два внутренних (см. программу на Python ниже): движение от начала к концу массива и движение от конца к началу. Если при выполнении одного из циклов перестановки не было (flag = 0), то сортировка закончена. При этом в алгоритме учитывается, что часть списка в конце или в начале уже не подлежит сортировке. Учёт осуществляется тем, что верхняя и нижняя граница определяются через переменную i, которая увеличивается. Например в первом цикла от i до n - 1 - i, во втором цикла от n - 1 - i до i - 1.
Предыдущая статья по сортировке...
Следующая статья по сортировке...
Отличного программирования, друзья. Оставляйте свои комментарии, не забывайте про лайки и подписывайтесь на мой канал programmer's notes.