Pagini recente » Cod sursa (job #195316) | Cod sursa (job #1136677) | Cod sursa (job #3274202) | Cod sursa (job #523214) | Cod sursa (job #759011)
Cod sursa(job #759011)
type vector=array[1..500000] of longint;
var n,q:longint;
f,g:text;
a:array[1..500000] of longint;
procedure merge (var a:vector;i,j,mij:longint);
var o:array[1..500000] of longint;
x,y,q,k:longint;
begin
x:=i;y:=mij+1; k:=i;
while (x<=mij) and (y<=j) do begin
if a[x]<a[y] then begin
o[k]:=a[x];
x:=x+1; end
else begin
o[k]:=a[y];
y:=y+1;end;
k:=k+1;
end;
while x<=mij do begin
o[k]:=a[x];
k:=k+1;
x:=x+1;end;
while y<=j do begin
o[k]:=a[y];
k:=k+1;
y:=y+1;end;
for q:=i to j do
a[q]:=o[q];
end;
procedure sort(var a:vector;st,dr:integer);
var mij:longint;
begin
if st<dr then begin
mij:=(st+dr) div 2;
sort (a,st,mij);
sort (a,mij+1,dr);
merge(a,st,dr,mij);
end;
end;
begin
assign (f,'algsort.in');reset (f);
assign (g,'algsort.out');rewrite (g);
read (f,n);
for q:=1 to n do
read(f,a[q]);
sort(a,1,n);
for q:=1 to n do
write (g,a[q],' ');
close (g);
end.