Gnome Sort (Cüce Sıralama) Algoritması

Selamün Aleyküm Arkadaşlar;

Cüce sıralama algoritmasının çalışma mantığı; İlk elemanı seçer sonrakiyle karşılaştırır (küçük veya büyüğe) sıralamaya göre yer değiştirir. Sonra ondan önceki eleman varsa bir öncekiyle karşılaştırır. Yer değiştirmezse tekrar kaldığı elemandan aynı şekilde devam eder.

Elimizde şöyle bir dizimiz olsun. Küçükten büyüğe doğru sıralayalım.

SnapCrab_No-0054

İlk önce birinci eleman seçilir. Sonraki elemanla karşılaştırılır.

3-5’den küçük olduğu için yer değiştirir. Birinci elemandan önce eleman olmadığı için ikinci eleman seçilir.

SnapCrab_No-0055

1-5’den küçük olduğu için yer değiştirir. Önceki elemanlar olduğu için son eleman işaretlenir. Önceki elemanlar karşılaştırılır.

SnapCrab_No-0056

1-3’den küçük olduğu için yer değiştirir. Bakılacak eleman kalmadığı için işaretlenen eleman ve sonraki eleman karşılaştırılır.

SnapCrab_No-0057

10-5’den küçük olmadığı için yer değiştirilmez. Diğer eleman seçilir ve karşılaştırılır.

SnapCrab_No-0059

7-10’dan küçük olduğu için yer değiştirir. ve son karşılaştırılan eleman işaretlenir. 7 olan elaman önceki elemanla karşılaştırılır.

7-5’den küçük olmadığı için işaretlenen eleman sonda olduğunda sıralama işlemi tamamlanır.

SnapCrab_No-0060

Özet olarak bir eleman sonraki elemanla karşılaştırılır. Yer değiştirilirse; önceki elemanlar yer değiştirilene kadar bakılır. Yer değiştirme olmadığı zaman dizide kalınan son elemandan devam edilir.

C#

Proje dosyasını buradan indirebilirsiniz.

 

PHP

 

Hayırlı günler, sağlıcakla kalın.

Bu döküman www.ibasoglu.com’a aittir. Kaynak belirtmek suretiyle alıntı yapılabilir.