September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,21 +1,21 @@
|
|||
{ X is array of LongInt }
|
||||
Procedure QuickSort ( Left, Right : LongInt );
|
||||
Var
|
||||
i, j : LongInt;
|
||||
i, j,
|
||||
tmp, pivot : LongInt; { tmp & pivot are the same type as the elements of array }
|
||||
Begin
|
||||
i:=Left;
|
||||
j:=Right;
|
||||
pivot := X[(Left + Right) shr 1]; // pivot := X[(Left + Rigth) div 2]
|
||||
Repeat
|
||||
While pivot > X[i] Do i:=i+1;
|
||||
While pivot < X[j] Do j:=j-1;
|
||||
While pivot > X[i] Do inc(i); // i:=i+1;
|
||||
While pivot < X[j] Do dec(j); // j:=j-1;
|
||||
If i<=j Then Begin
|
||||
tmp:=X[i];
|
||||
X[i]:=X[j];
|
||||
X[j]:=tmp;
|
||||
j:=j-1;
|
||||
i:=i+1;
|
||||
dec(j); // j:=j-1;
|
||||
inc(i); // i:=i+1;
|
||||
End;
|
||||
Until i>j;
|
||||
If Left<j Then QuickSort(Left,j);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue