Kokteyl sıralaması

Vikipedi, özgür ansiklopedi

Kokteyl sıralaması, bilgisayar bilimlerinde kabarcık sıralaması algoritmasına benzer bir sıralama algoritmasıdır. Kabarcık sıralamasından farkı sıralanacak listenin üzerinden tek yöne doğru değil iki yöne de geçerek öğeleri sıralamasıdır. Algoritmanın uygulanması kabarcık sıralaması algoritmasının uygulanmasından çok az daha zordur.

Sözde kodu[değiştir | kaynağı değiştir]

Kokteyl sıralamasının en yalın biçimi her defasında listenin tamamının üzerinden geçer:

procedure cocktailSort( A : list of sortable items ) defined as:
  do
    swapped := false
    for each i in 0 to length( A ) - 2 do:
      if A[ i ] > A[ i + 1 ] then // ardışık iki öğenin doğru sırada olup olmadığına bak order
        swap( A[ i ], A[ i + 1 ] ) // iki öğenin yerlerini değiştir
        swapped := true
      end if
    end for
    if swapped = false then
      // eğer değişiklik yapılmadıysa dıştaki döngüden çıkabiliriz.
      break do-while loop
    end if
    swapped := false
    for each i in length( A ) - 2 to 0 do:
      if A[ i ] > A[ i + 1 ] then
        swap( A[ i ], A[ i + 1 ] )
        swapped := true
      end if
    end for
  while swapped // hiçbir öğe yer değiştirmediyse liste sıralanmıştır
end procedure

Diğer sıralama algoritmaları[değiştir | kaynağı değiştir]