Шейкерная сортировка ShakerSort
Шейкерная сортировка ShakerSort ДВА (!) изменения в алгоритме, которые были предложены для уменьшения трудоемкости: 1) Изменение направления просмотра массива на каждой итерации. 2) Установление границ рабочей части массива на место последнего обмена на каждой итерации. Шейкерная сортировка ShakerSort
Алгоритм на псевдокоде L, R – левая и правая границы рабочей части массива, n – количество элементов в массиве. L := 1, R := n, k := n, DO DO ( j := R, R-1, ... L+1) IF (aj < aj-1) aj↔aj-1, k := j FI OD L := k DO ( j := L, L+1, ... R-1) IF (aj > aj+1) aj↔aj+1, k := j FI OD R := k OD (L < R)