{ Програма методу швидкого сортування }
program QuickSort;
uses Crt,Dos;
const N = 10000;
type Item = Integer;
dBase = array [0..N-1] of Item;
var a: dBase;
hour1,minut1,sec1,canti1,
hour2,minut2,sec2,canti2: Word;
i: Integer;
procedure Q1Sort(var a: dBase; L,R: Integer);
var i,j,k: Integer;
w,x: Item;
begin
i := L;
j := R;
x := a[(L+R) div 2];
repeat
while a[i] < x do inc(i);
while x < a[j] do dec(j);
if i <= j then
begin
if i<j then begin
w := a[i]; a[i] := a[j]; a[j] := w; end;
inc(i); dec(j);
end;
until i > j;
if L < j then Q1Sort (a,L,j);
if i < R then Q1Sort (a,i,R);
end; { Sort }
Begin
ClrScr;
{ Randomize; }
For i:=0 to N-1 do { Масив випадкових чисел }
begin
a[i] := random(1000);
end;
{ For i:= 0 to N-1 do
begin
Write(a[i],' ');
end;
WriteLn; }
GetTime(hour1,minut1,sec1,canti1);
Q1Sort(a,0,N-1);
GetTime(hour2,minut2,sec2,canti2);
{ For i:= 0 to N-1 do
begin
Write(a[i],' ');
end;
WriteLn; }
{ ClrScr; }
writeln(' Початок: ',hour1:2,':',minut1:2,':',sec1:2,':',canti1:2);
writeln(' Кінець: ',hour2:2,':',minut2:2,':',sec2:2,':',canti2:2);
End.