Łącząc te dwie pętle sortując wewnętrznie naprzemiennie w kierunku normalnym i odwrotnym, otrzymujemy algorytm sortowania koktajlowego.

Kod źródłowy Przykład implementacji algorytmu w pseudojęzyku:

function cocktail_sort(list, list_length) // pierwszy element zbioru ma indeks 0 { bottom = 0; top = list_length - 1; zamiana = true; while(zamiana == true) // jeżeli żaden element nie został zamieniony, lista jest posortowana

zamiana = false; for(i = bottom; i < top; i = i + 1)

if(list[i] > list[i + 1]) // sprawdzamy czy elementy są na właściwych miejscach

zamien(list[i], list[i + 1]); // zamieniamy elementy miejscami zamiana = true;

// zmniejszamy wartość `top` ponieważ element o największej wartości jest posortowany top = top - 1; for(i = top; i > bottom; i = i - 1)

if(list[i] < list[i - 1])

zamien(list[i], list[i - 1]); zamiana = true;

// zwiększamy wartość `bottom` ponieważ element o najmniejszej wartości jest posortowany bottom = bottom + 1;

Optymalizacja Jednym ze sposobów optymalizacji jest dodanie instrukcji warunkowej, która sprawdza, czy nastąpiła zamiana elementów po pierwszym przejściu pętli, jeżeli nie – lista jest posortowana.