Pagini recente » Cod sursa (job #2359543) | Cod sursa (job #2164129) | Cod sursa (job #2066536) | Cod sursa (job #428533) | Cod sursa (job #1385648)
program sortare;
type vector = array[1..500001] of longint;
var f,g:text;
v:vector;
n,i:longint;
bufin,bufout:array[1..500000] of byte;
function pivot(st,dr:longint):longint;
var i,j,di,dj,aux:longint;
begin
i:=st;
j:=dr;
di:=0;
dj:=1;
while i < j do
begin
if v[i] > v[j] then
begin
aux:=v[i];
v[i]:=v[j];
v[j]:=aux;
aux:=di;
di:=dj;
dj:=aux;
end;
i:=i+di;
j:=j-dj;
end;
pivot:=i;
end;
procedure sort(st,dr:longint);
var p:longint;
begin
if st < dr then
begin
p:=pivot(st,dr);
sort(st,p-1);
sort(p+1,dr);
end;
end;
begin
assign(f,'algsort.in'); reset(f);
assign(g,'algsort.out'); rewrite(g);
settextbuf(f,bufin); settextbuf(g,bufout);
readln(f,n);
for i:=1 to n do
read(f,v[i]);
sort(1,n);
for i:=1 to n do
write(g,v[i],' ');
close(f); close(g);
end.