Yalnız Mesajı Göster

Sıralama Algoritmaları

Eski 10-29-2012   #6
Prof. Dr. Sinsi
Varsayılan

Sıralama Algoritmaları



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




Alıntı Yaparak Cevapla