Bir çok sıralama algoritmaları vardır:
-Seçmeli Sıralama(Selection Sort)
-Eklemeli Sıralama(Insetion Sort)
-Kabarcık Sıralaması(Bubble Sort)
-Birleştirme Sıralaması(Merge Sort)
-Hızlı Sıralama(Quick Sort)
->Liste sıralanmış ve sıralanmamış olarak iki alt listeye böünür,bu iki liste hayali bir duvarla birbirinden ayrılmıştır.
->Sıralanmamış alt listedeki en küçük elemanı buluruz ve sıralanmamış verinin en başındaki veri ile değiştiririz.
->Her bir seçim ve değiştirmeden sonra iki alt liste arasındaki hayali duvar sıralanmış elemanların sayısını artırarak ve sıralanmamış elemanların sayısını azaltarak bir eleman öteye kayar.
->Sıralanmmaış alt listeden sıralanmış listeye(doğru geçerken) her eleman kaydırışımızda sıralama geçişini tamamlamış oluruz.
->n elemandan oluşan bir liste veriyi yeniden düzenlemek(sıralamak) için n-1 geçişe ihtiyaç duyar.
ÖRNEK: 23,78,45,8,32,56 listesini seçmeli sıralama algoritmasına göre sıralayalım.
1.adım-> 8,78,45,23,32,56
2.adım-> 8,23,45,78,32,56
3.adım-> 8,23,32,78,45,56
4.adım-> 8,23,32,45,78,56
5.adım-> 8,23,32,45,56,78
->Eklemeli sıralama,küçük boyutlu girişler için uygun olan bir sıralama algoritmasıdır.(Kart oyunlarında kullanılan sıralama algoritmasıdır)
->Liste sıralanmış ve sıralanmamış olmak üzere iki parçaya bölünür.
->Her bir geçişte,sıralanmamış kısmın alt listeye transfer edilir ve sıralanmış listede uygun konuma eklenir.
->n tane elemana sahip bir liste veriyi sıralamak için en fazla n-1 geçişe ihtiyaç duyar.
ÖRNEK: 23,78,45,8,32,56 (önceki örneği kullandım tekrar..)
1.adım-> 23,78,45,8,32,56
2.adım-> 23,45,78,8,32,56
3.adım-> 8,23,45,78,32,56
4.adım-> 8,23,32,45,78,56
5.adım-> 8,23,32,45,56,78
->Liste sıralanmış ve sıralanmamış iki alt listeye bölünür.
->En küçük eleman sıralanmamış alt listeden(bir kabarcık gibi) sıralanmış alt listeye eklenir.
->Bundan sonra duvar,sıralanmış elemanların sayısını artırarak ve sıralanmamış elemanların sayısını azaltarak bir eleman öteye kayar.
->Her sıralanmamış listeden sıralamış listeye eleman geçişinde bir “sıralama geçişi” tamamlanmış olur.
->n elemanlı bir listeyi sıralamak için en fazla n-1 geçişe ihtiyaç duyar.
ÖRNEK: 23,78,45,8,32,56 (Yine aynı saylar..)
1.adım->8,23,78,45,32,56
2.adım->8,23,32,78,45,56
3.adım->8,23,32,45,78,56
4.adım->8,23,32,45,56,78
->Böl ve yönet algoritmalarından biridir.
->Özyinelemeli(recursive) bir algoritmadır.
->Listeyi ikiye böler.
->Bu yarıya bölünmüş parçaları ayrı olarak(kendi içlerinde) sıralar,
->Sonra sıralanmış olan yarıya bölünmüş parçaları birleştirilmiş bir diziye çevirir.
ÖRNEK:
->Birleştirme sıralaması gibi hızlı sıralama da “böl ve yönet” yöntemine dayanır.
->İlk olarak dizi eksen(pivot) olarak seçilen elemandan iki parçaya ayırır,parçaları bağımsız olarak sıralar.
->Son olarak sıralanmış dizileri basit bir birleştrme kullanarak birleştirir.
->Diziden rastgele bir sayı pivot olarak seçilir(Genelde ortadaki sayı seçilir.)
->Pivottan küçük olan sayılar pivotun soluna,büyük olan sayılar ise pivotun sağına alınır.
->Daha sonra sürekli yer değiştirerek doğru bir sıralama elde edilir.
ÖRNEK: