Commodore sayı 70, sayfa 17
Sayfanın metni

Sayfa 17

Aşağıda programın listesini, çok karışık olması açısından yapısal akış şeması Adım büyüklüğünü tespit etmek için şeklinde veriyoruz. belli bir yöntem olmadığından adım genellikle data dizisindeki eleman sayısının yarısı kadar alınır. Bu n tane eleman için adım n/2 alınır. Hızlı sıralamaya başlamadan önce Shell sıralamasının programını verelim:

30000 REM

30010 REM ***SHELL SIRALAMASI*** 30020 REM 300308 - N 300408 - N 30050 IF S-0 THEN 30180 30060 DI — N-2 30070 FOR J-1 TO Dİ 30080 J 30000 ::81-1-4- 8 x(1):>b 30100 ::1F — — X(SI) izİZM THEN 30160

30110 ::H — X() 30120 — X(S1) 30130 -H 30140 ::IFI — 0 THEN 30090 30150 NEXT J 30160 RETURN

s:ızi Hızlı Sıralama

Çok dağınık haldeki elemanları en hızlı şekilde sıralamanın yolu Quicksort'ta yatar. Bu sistem daha da verimli hale getirilmiş bir kabarcık sıralama gibi düşünülebilir. Bu algoritma kalitesini, elemanlar mümkün olan en dağınık haldeyken gösterir. Bu programın adı bazen yaratıcısının adıyla Hoare olarak da anılır. Quicksort'un anlaşılması gerçekten biraz zordur, bu yüzden genel bir taslağını vereceğiz. Burada yine karşılaştırmalar büyük uzaklıklar üzerinden yapılır. Bu, yüksek seviyeli sıralama algoritmalarının karakteristik özelliğidir. Shell sıralamasının aksine bu sistemde karşılaştırmalar dışardan içeri doğru yapılır. Bu yüzden karşılaştırma değeri olarak tanımlayacağımız X değeri çok önemlidir. X değeri için genellikle orta büyüklükte bir eleman seçilir. 34 56 12 33 78 90 21 10 8 dizisinde medyan değeri olan 33 seçilir. Bu değer, elemanların bir yarısından küçük veya onlara eşit ve aynı zamanda diğer elemanlara eşit veya onlardan küçük olan birkaç değerden biridir.

repeat until 1>-r

repeat until s-0 17

Klavyeyle gezinmek için ← ve → tuşları.