Programın çapından da görülebile- ceği gibi (liste 4) bu yöntem az önce ele aldığımız diğer yöntemlerden da- ha karmaşıktır. Her şeyden önce böyle bir sıralama yöntemi için daha fazla bellek gerek- mektedir. Bunun nedeni, sadece prog- ramın göreceli olarak daha fazla yer tutması değil, aynı zamanda daha faz- la değişken kullanmasıdır da. Sözge- limi henüz sıralanmamış altkümelerin parametrelerinin saklanması için baş- hbaşına bir deste-bellek (stack) görev- lendirilmektedir. (Bir kerede ancak bir tek altkümenin ele alınabileceğini anımsayın.) Bunların yanısıra Çabuk sıralama- nın asıl çekiciliği tartışılmaz hızıdır. (Tablo-1'deki zamanlamalara bkz.) Sıralanacak ögelerin sayısı arttıkça di- ğer üç sıralama yönteminin gereksin- dikleri zaman üstsayısal (exponential) bir biçimde artarken, Çabuk sıralama- nın öge başına harcadığı zaman, lis- tenin çapı büyüse de, hemen hemen aynı kalmaktadır. Bu özellik denen- memiş bir listenin Çabuk sıralama ile ne kadar bir zamanda düzenlenebile- ceğini önceden kestirme olanağını ve- rir. Bu tür bir sıralama baştan aşağı karışık yazılmış kütükleri sıralarken en etkin sonucu verecektir; ancak kıs- mi olarak düzenlenmiş bir kütüğe uy- gulandığında biraz daha yavaş çalışa- cağı söylenebilir. Ve dikkat! Bu seçmeye aldığımız sı- ralama yöntemlerinin tümü de aynı ögenin tekrarlandığı (duplicate) du- rumları işleme yeteneğine sahiptirler. Uyarlamalar İçin Burada dikkat edilmesi gereken nokta, yukarıda listesi çıkarılmış programlarda bütün dizi alteklerinin (subscript) sıfırdan başlamalarıdır. Sözgelimi DIM IMEFS$(10) ifadesi IME$ için onbir hane ayırmış olmak- tadır (on hane değil). Bütün sıfır ele- manlar belleği tutumlu kullanmak amacıyla hesaba katılmışlardır ve bu noktanın özellikle altekleri 1'den baş- latan aygıtlara uyarlama yaparken gözetilmesi gerekir. Gözden kaçırılmaması gereken bir başka nokta da SWAP ifadesinin (sta- tement) kullanılışıdır. Bu ifade ardın- dan gelen iki değişkenin içerdiklerini değiş tokuş ettirir. Böyle bir ifadeye sahip olmayan aygıtlar için 'SWAP IMES(X), IMFS(Y) satırı aşağıda gösterildiği gibi yeniden yazılabilir: TEMP$ - IMF$(X):1MFS(Y) — IMFE$(Y):1MFS(Y) - TEMP$ Özet Olarak Söylenebilecekler Kabarcık sıralama: e Kısmi sıralanmış kütükler için e Dar hacimli kütükler için e Bellek kapasitesinin daha yetkin yöntemleri uygulamaya yetmediği durumlarda. Dalgacık sıralama: e Kabarcık sıralamanın kullanıldığı yerlerde Ayıklamalı sıralama: e Dar/orta hacimli kütükler için e Bellek kapasitesinin daha yetkin yöntemleri uygulamaya yetmediği durumlarda Çabuk sıralama: e Orta/büyük hacimli kütükler için e Özellikle de kısmi olarak sıralanmamış olanlar için İpuçları EEETEEEEEEEEEEE commodore aa