Commit | Line | Data |
---|---|---|
1 | PROCEDURE SORT(L,R: INDEX); | |
2 | VAR I,J: INDEX; X,H: ITEM; | |
3 | ||
4 | BEGIN I := L; J := R; | |
5 | X := A[ (L+R) DIV 2 ]; | |
6 | REPEAT | |
7 | WHILE A[I]<X DO I := I+1; | |
8 | WHILE X<A[J] DO J := J-1; | |
9 | IF I<=J THEN | |
10 | BEGIN H := A[I]; A[I] := A[J]; A[J] := H; | |
11 | I := I+1; J := J-1 | |
12 | END | |
13 | UNTIL I>J; | |
14 | IF L<J THEN SORT(L,J); | |
15 | IF I<R THEN SORT(I,R) | |
16 | END (* SORT *); |