Pagini recente » Cod sursa (job #501120) | Cod sursa (job #573427) | Cod sursa (job #780579) | Cod sursa (job #2545477) | Cod sursa (job #543777)
Cod sursa(job #543777)
var a:array[1..500000] of longint;
n,i:longint;
f1,f2:text;
bufin:array[1..1 shl 17] of char;
procedure sw(var a,b:longint);
var t:longint;
begin
t:=a;
a:=b;
b:=t;
end;
procedure qs(left,right:longint);
var i,j,r:longint;
begin
i:=left;
j:=right;
r:=a[(i+j) div 2];
while i<j do
begin
while a[i]<r do inc(i);
while a[j]>r do dec(j);
if i<= j then begin sw(a[i],a[j]); inc(i); dec(j); end;
end;
if i<right then qs(i,right);
if j>left then qs(left,j);
end;
begin
assign(f1,'algsort.in');
assign(f2,'algsort.out');
reset(f1);
rewrite(f2);
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
qs(1,n);
SetTextBuf(f2,Bufin);
for i:=1 to n do
write(f2,a[i],' ');
close(f2);
end.