procedure quicksort(var a:array of integer; Lo,Hi: integer);
procedure sort(l,r: integer); var i,j,x:integer; begin i:=l; j:=r; x:=a[random(r-l+1)+l]; repeat while a[i]>x do i:=i+1; while x>a[j] do j:=j-1; if i<=j then begin if a[i]<a[j] then swap(a[i],a[j]); i:=i+1; j:=j-1; end; until i>=j; if l<j then sort(l,j); if i<r then sort(i,r); end;
begin; randomize; sort(Lo,Hi) end;
begin readln(n); setlength(ar,n); n:=n-1; writeln('Array:'); for i:=0 to n do begin ar[i]:=random(10); write(ar[i]:4); end; quicksort(ar,0,n); writeln; writeln('Final array:'); for i:=0 to n do write(ar[i]:4); end.
Пример ввода: 5 Пример вывода: Array: 8 7 5 9 4 Final array: 9 8 7 5 4