Im Januar 1982 fand sich der folgende Leserbrief zum Thema Suchen und Sortieren.

Schneller durch Vorsortieren

Eine kleine Ergänzung zu Ihrer Serie über die Sortier- und Suchverfanren:
Lineare Einfügung kostet keine Programmier-, aber viel Rechenzeit. Quick-Sort sortiert schnell, kostet aber nennenswerte Programmierarbeit und -zeit. Lineare Einfügung kostet nur dann viel Rechenzeit, wenn ein Element der Datenmenge die ganze Reihe durchwandern muß. Durch Vorsortieren läßt sich dieser Nachteil beheben. Mit der im folgenden Programm berücksichtigten kleinen Erweiterung der linearen Ergänzung kommt man für Mengen von einigen hundert Daten zu annehmbaren Rechenzeiten. Das Programm ist so simpel, daß es sich selber erklärt (SWAP vertauscht zwei Variablen).
Heinrich Kraft,
Kiel
10  INPUT "Menge ";M:DIM A(M):B=M
20  FOR I = 1 TO M:A(I) = INT(M*RND)+1 : NEXT
30  GOSUB 170
40  PRINT CHR$(7)
60  B=INT(B/3)+4
70  ORD=0 :FOR I = 1 TO M-B
80  IF A(I)>A(I+B) THEN SWAP A(I),A(I+B):ORD=1
90  NEXT
100 IF ORD=1 THEN 70
110 IF B>1 THEN 60
130 PRINT CHR$(7)
140 GOSUB 170
150 END
170 PRINT:FOR W = 1 TO M:PRINT USING"###";A(W):NEXT:RETURN

Eingescanned von Werner Cirsovius
September 2002
© Franzis' Verlag