Adından rahatlıkça anlayacağımız gibi, bir dizi öğeyi sıralamaya yarayan bilgisayar biliminin temellerinden biridir. Kısaca birtakım veriyi sıraya koyma yordamı diye de tanımlayabiliriz.
Aslında, farkında olmadan günlük hayatta sıkça kullandığımız algoritmalardır.Örneğin: Ortaokul ya da lisede boy sıralamasını Kabarcık Sıralaması(Bubble Sort) ile yaparken telefon rehberlerindeki sıralamalarda genelde Seçerek Sıralama(Selection Sort) ile yapılabilmektedir.
Sıralama algoritmaları veri modellerine göre de farklılık gösterebilmektedir.Bazı sıralama algoritmaları yalnızca bir veri modeli ile uygulanabilirken bazıları birden fazla veri modeli üzerinde uygulanabilmektedir.
Sayısız sıralama algoritması vardır ve hatta yazılabilir.Kullanıma bağlı olarak herbiri uygulama açısından en iyi çözüm olabilmektedir.Yaygın kullanılan algoritmalardan örnek vermek gerekirse;
1-)Araya Sokma Sıralaması(Insertion Sort)
2-)Seçmeli Sıralama(Selection Sort)
3-)Kabarcık Sıralaması(Bubble Sort)
4-) Birleşmeli Sıralama(Merge Sort)
5-) Yığın Sıralaması(Heap Sort)
6-)Hızlı Sıralama(Quick Sort)
NOT: Sıralama işlemi disk, usb bellek gibi saklama birimlerinde tutulan dosyalar üzerinde yapılıyorsa harici sıralama(external sorting) olarak anılır; fakat Ram,Rom gibi bilgisayarın iç belleği üzerinde yapılıyorsa dahili sıralama(internal sorting) denilir.
- Bir sıralama algoritması için en önemli unsurlar yürütme zamanı(running-time) ve bellek alanıdır.
INSERTION SORT (Araya Sokma Sıralaması)

- Doğrusal algoritmadır.
- Sıralı bir dizide yeni eleman eklemeye uygundur ve zaman karmaşası O(n)’dir.
- Sırasız bir dizide zaman karmaşası O(n²)’dir.
- Küçük boyutlu dizilerde hızlı olsa da çok sayıda veriyle çalışırken diğer algoritmalara göre yavaş kalmaktadır.
- Bağlantılı listeler için daha esnek bir sıralama algoritmasıdır.
SELECTION SORT(Seçmeli Sıralama)

- Çalışma prensibi, en küçük değeri bulup baştaki sayıyla yerini değiştirilmesiyle gerçekleşir.
- Zaman Karmaşası O(n²)’dir.
- Fazla sayıda veriyi sıralamak için elverişsizdir.
- Doğrusal algoritmadır.
BUBBLE SORT (Kabarcık Sıralaması)

- Zaman Karmaşası O(n²)’dir.
- Küçükten büyüğe sıralama yapar ve doğrusal olarak karşılaştırır verileri.
- Swap işlemi yapılır.
MERGE SORT(Birleşmeli Sıralama)
- Ana mantığı böl ve yönet(divide and conquer)’dir bu sebeple yapısı rekürsif(recursive)’e uygundur.

- Programın işleyiş şekli; iki dizide de eleman kalamayıncaya kadar dizilerin elemanları karşılaştırılır ve en küçük olan seçilir.
- Zaman karmaşası O(nlog(n))’dir.
- Sıralı iki diziyi tekrardan sıralı olacak şekilde birleştirmek için uygulanabilen işlemdir.
HEAP SORT(Yığın Sıralaması)
- Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) bir tanesidir.

- Burada iki kavramı bilmemiz gerekiyor;
=>Min Heap:En küçük root(kök).
=>Max Heap:En büyük kök(root).
- Zaman karmaşası O(n log(n))’dir.

QUICK SORT(Hızlı Sıralama)

- Yaygın olarak kullanılan bir algoritmadır.
- Çalışma prensibi “böl ve yönet” (divide and conquere) mantığına dayanır.
- Algoritma bir pivot veri seçer ve buna göre hareket eder.(Herhangi bir veri pivot olabilir.)
- Pivot elemandan küçük olan bütün elemanlar pivot elemanın önüne, pivot elemandan büyük olan bütün elemanlar pivot elemanın arkasına gelecek biçimde düzenler.
- Özyineli(recursive) bir algoritma olduğu için kendi kendini tekrar ederek seçtiği elemana göre sıralama işlevini yürütmektedir.
- Zaman karmaşası, O(n log(n))’dir.