Pagini recente » Cod sursa (job #3215777) | IAP #6: Arhiva educationala | Cod sursa (job #3194708) | Cod sursa (job #3286682) | Cod sursa (job #404363)
Cod sursa(job #404363)
const maxn=500000;
type vector=array[1..maxn]of longint;
var n,i:longint;
v:vector;
procedure interschimba(var a,b:longint);
begin
a:=a xor b;
b:=b xor a;
a:=a xor b;
end;
procedure quicksort(p,q:longint);
var a,b,m:longint;
begin
a:=p;
b:=q;
m:=v[(a+b)shr 1];
repeat
while v[a]<m do inc(a);
while v[b]>m do dec(b);
if a<=b then begin
if a<>b then interschimba(v[a],v[b]);
inc(a);
dec(b);
end
else break;
until a>b;
if a<q then quicksort(a,q);
if p<b then quicksort(p,b);
end;
begin
assign(input,'algsort.in');
reset(input);
assign(output,'algsort.out');
rewrite(output);
readln(n);
for i:=1 to n do read(v[i]);
quicksort(1,n);
for i:=1 to n do write(v[i],' ');
close(output);
close(input);
end.