Advertisement
Guest User

Untitled

a guest
Dec 11th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.98 KB | None | 0 0
  1. uses
  2.   SysUtils;
  3.  
  4. procedure quickSort(var Arr: array of Integer; first, last: Integer);
  5. var
  6.     i, j, x, help: Integer;
  7. begin
  8.     x := Arr[(first + last) div 2];
  9.     i := first;
  10.     j := last;
  11.     while i<=j do
  12.     begin
  13.         while Arr[i] < x do
  14.             Inc(i);
  15.         while x < Arr[j] do
  16.             Dec(j);
  17.         if i <= j then
  18.         begin
  19.             help := Arr[i];
  20.             Arr[i] := Arr[j];
  21.             Arr[j] := help;
  22.             i := i+1;
  23.             j := j-1;
  24.         end;
  25.     end;
  26.     if first < j then quickSort(Arr, first, j);
  27.     if i < last then quickSort(Arr, i, last);
  28. end;
  29.  
  30.  
  31. procedure Main;
  32. var
  33.     Arr: array of Integer;
  34.     i, Quantity: Integer;
  35. begin
  36.     Readln(Quantity);
  37.     SetLength(Arr, Quantity);
  38.     Dec(Quantity);
  39.     for i := 0 to Quantity do
  40.         Read(Arr[i]);
  41.     quickSort(Arr, 0, Quantity);
  42.     for i := 0 to Quantity do
  43.         Write(Arr[i], ' ');
  44.     Readln;
  45.     Readln;
  46. end;
  47.  
  48. begin
  49.     Main;
  50. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement