September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -0,0 +1,30 @@
|
|||
PROCEDURE QUICKSORT(A); REAL ARRAY A;
|
||||
BEGIN
|
||||
|
||||
PROCEDURE QS(A, FIRST, LAST); REAL ARRAY A; INTEGER FIRST, LAST;
|
||||
BEGIN
|
||||
INTEGER LEFT, RIGHT;
|
||||
LEFT := FIRST; RIGHT := LAST;
|
||||
IF RIGHT - LEFT + 1 > 1 THEN
|
||||
BEGIN
|
||||
REAL PIVOT;
|
||||
PIVOT := A((LEFT + RIGHT) // 2);
|
||||
WHILE LEFT <= RIGHT DO
|
||||
BEGIN
|
||||
WHILE A(LEFT) < PIVOT DO LEFT := LEFT + 1;
|
||||
WHILE A(RIGHT) > PIVOT DO RIGHT := RIGHT - 1;
|
||||
IF LEFT <= RIGHT THEN
|
||||
BEGIN
|
||||
REAL SWAP;
|
||||
SWAP := A(LEFT); A(LEFT) := A(RIGHT); A(RIGHT) := SWAP;
|
||||
LEFT := LEFT + 1; RIGHT := RIGHT - 1;
|
||||
END;
|
||||
END;
|
||||
QS(A, FIRST, RIGHT);
|
||||
QS(A, LEFT, LAST);
|
||||
END;
|
||||
END QS;
|
||||
|
||||
QS(A, LOWERBOUND(A, 1), UPPERBOUND(A, 1));
|
||||
|
||||
END QUICKSORT;
|
||||
Loading…
Add table
Add a link
Reference in a new issue