Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses
- SysUtils;
- procedure quickSort(var Arr: array of Integer; first, last: Integer);
- var
- i, j, x, help: Integer;
- begin
- x := Arr[(first + last) div 2];
- i := first;
- j := last;
- while i<=j do
- begin
- while Arr[i] < x do
- Inc(i);
- while x < Arr[j] do
- Dec(j);
- if i <= j then
- begin
- help := Arr[i];
- Arr[i] := Arr[j];
- Arr[j] := help;
- i := i+1;
- j := j-1;
- end;
- end;
- if first < j then quickSort(Arr, first, j);
- if i < last then quickSort(Arr, i, last);
- end;
- procedure Main;
- var
- Arr: array of Integer;
- i, Quantity: Integer;
- begin
- Readln(Quantity);
- SetLength(Arr, Quantity);
- Dec(Quantity);
- for i := 0 to Quantity do
- Read(Arr[i]);
- quickSort(Arr, 0, Quantity);
- for i := 0 to Quantity do
- Write(Arr[i], ' ');
- Readln;
- Readln;
- end;
- begin
- Main;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement