AlgoThrive
← All sorting algorithms

Cocktail Shaker Sort

DefaultComparingSwappingPivotSorted
Main Array Workflow
8
3
11
6
1
9
4
7

pseudocode

cocktailSort(a):
start = 0; end = n - 1; swapped = true
while swapped:
// Pass 1 (L->R): bubble largest value to end
for i = start to end-1: if a[i] > a[i+1] swap
end-- // lock rightmost element
// Pass 2 (R->L): sink smallest value to start
for i = end-1 down to start: if a[i] > a[i+1] swap
start++ // lock leftmost element

Frame 1 / 46

Start

unsorted array

4

3–16 integers between 1 and 20.