Преимущества шейкерной сортировки перед классической пузырьковой:
- Более равномерное перемещение элементов. intuit.ru Внутренние циклы проходят по массиву то в одну, то в другую сторону, поднимая самый лёгкий элемент вверх и опуская самый тяжёлый элемент в самый низ за одну итерацию внешнего цикла. purecodecpp.com
- Меньшее количество итераций. purecodecpp.com infostart.ru На выполнение сортировки массива по возрастанию требуется в два раза меньше итераций внешнего цикла по сравнению с классической пузырьковой сортировкой. purecodecpp.com
- Сужение участка массива, который подлежит сортировке. purecodecpp.com Это положительно сказывается на времени работы программы. purecodecpp.com
Главное отличие в том, что в классической сортировке пузырьком происходит однонаправленное движение элементов снизу-вверх, а в шейкерной — сначала снизу-вверх, затем сверху-вниз. infostart.ru