Pagini recente » Cod sursa (job #1120929) | Cod sursa (job #1998858) | Cod sursa (job #1265223) | Cod sursa (job #1860080) | Cod sursa (job #604019)
Cod sursa(job #604019)
Program sortare_rapida;
var a:array[1..10000] of longint;
i,n:longint;
b1,b2: array[1..1 shl 17] of char;
fi,fo:text;
procedure qsort(l,r:longint);
var k,i,j,y:longint;
begin
i:=l; j:=r;
k:=a[(l+r) div 2];
repeat
while a[i]<k do inc(I);
while a[j]>k do dec(j);
if i<=j then
begin
y:=a[i];
a[i]:=a[j];
a[j]:=y;
inc(i); dec(j);
end;
until i>=j;
if l<j then qsort(l,j);
if i<r then qsort(i,r);
end;
begin
assign(fi,'algsort.in');
assign(fo,'algsort.out');
reset(fi);
rewrite(fo);
settextbuf(fi,b1);
settextbuf(fo,b2);
readln(fi,n);
for i:=1 to n do read(fi,a[i]);
qsort(1,n);
for i:=1 to n do write(fo,a[i],' ');
close(fo);
end.