Kokteyl sıralaması

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

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ı

This article is issued from Vikipedi - version of the 2/23/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.