En temel sıralama algoritmalarından olan Bubble Sort (Kabarcık Sıralama) mantığını inceleyelim. Temel olarak ardışık iki eleman arasında karşılaştırma yaparak ilerler. Örneğin küçükten büyüğe sıralanacak olan bir sayı dizisinde şayet ilk eleman ikinciden büyük ise, bu iki sayı kendi arasında yer değiştirir. Daha sonra karşılaştırma bir sonraki sayı ile devam eder. Büyük dizilerde yavaş çalışması nedeniyle öncelikli tercih edilmez. Kabarcık sıralama algoritması programlanırken karşılaştırılan iki sayı için yer değiştirme durumunda kullanılacak olan swap fonksiyonu için yeri değişecek sayıyı bir geçici değişkene atamamız gerekmektedir. Aksi taktirde bu sayı değerini bellekte kaybetme durumu söz konusu olacaktır. Örnek bir sıralama yapacak olursak dizinin ilk hali 1 3 2 4 5 6 8 7 olarak verilsin.
Sıralı olarak gelen bir sayı dizisinde bile her iki elemanı kontrol ederek sona kadar gideceği için en iyi durum da BigO değeri O(n), en kötü durum için ise BigO değeri O(n^2) olacaktır.
Bubble Sort Algoritması Kaba Kod Gösterimi:
Algoritmanın örnek c kodu aşağıda verilmiştir.
Makale çok yararlı olmuş teşekkürler.
Teşekkürler Meriç 🙂