Es soll eine Liste von Elementen (z. B. Zahlen) aufsteigend sortiert werden. Die beiden Programme erledigen diese Aufgabe. Sie sprechen für sich selbst.
| Pascal-Lösung | Haskell-Lösung |
CONST n = ... ;
TYPE index=1..n;
VAR A: ARRAY[index] OF element;
PROCEDURE quicksort
(links, rechts : index);
VAR i,j: index;
x: element;
BEGIN
i:=links; j:=rechts;
IF j>i THEN
BEGIN
"Bestimme x, z.B. x:=A[links]";
REPEAT
WHILE A[j]
|
quicksort [] = []
quicksort (x:xs) = quicksort kleiner
++ [x]
++ quicksort groesser
where kleiner = [i|i<-xs, i<=x]
groesser = [i|i<-xs, i>x]
Motto: Erst die Kleinen -- dann x -- dann die Großen. |
|
nach: Duden-Informatik, BI-Wissenschaftl. Verlag,
Mannheim, Wien, Zürich 1988, Seite 480 |
eigene Lösung |