Pagini recente » Diferente pentru utilizator/raresegay intre reviziile 8 si 9 | Cod sursa (job #106317) | Cod sursa (job #476925) | Cod sursa (job #1271019) | Cod sursa (job #1417445)
var n,i:longint;
a:array[1..500000] of longint;
procedure sw(var a,b:longint);
var c:longint;
begin
c:=a;
a:=b;
b:=c;
end;
procedure sort(st,dr:longint);
var i,j,k:longint;
begin
i:=st;
j:=dr;
k:=a[(i+j) div 2];
while i<j do begin
while a[i]<k do inc(i);
while a[j]>k do dec(j);
if i<=j then begin
sw(a[i],a[j]);
inc(i);
dec(j);
end;
end;
if i<dr then sort(i,dr);
if st<j then sort(st,j);
end;
begin
assign(input,'algsort.in');
assign(output,'algsort.out');
reset(input);
rewrite(output);
read(n);
for i:=1 to n do read(a[i]);
sort(1,n);
for i:=1 to n do write(a[i],' ');
end.