Pagini recente » Cod sursa (job #2140994) | Cod sursa (job #2878647) | Cod sursa (job #1320518) | Cod sursa (job #1962930) | Cod sursa (job #869847)
Cod sursa(job #869847)
type vect=array[1..500000] of longint;
indice=1..500000;
var x:vect;i,n:indice; t,g:text;
procedure quick(var x:vect;p,u:indice);
var min,max:indice;m,a:longint;
begin
min:=p;
max:=u;
m:=x[(p+u)div 2];
while (min<=max) do
begin
while(x[min]<m) do inc(min);
while(x[max]>m) do dec(max);
if min<=max then begin
a:=x[min];
x[min]:=x[max];
x[max]:=a;
inc(min);dec(max);
end;
end;
if p<max then quick(x,p,max);
if min<u then quick(x,min,u);
end;
begin
assign(t,'algsort.in');reset(t);
assign(g,'algsort.out');rewrite(g);
readln(t,n);
for i:=1 to n do read(t,x[i]);
quick(x,1,n);
for i:=1 to n do write(g,x[i],' ');
close(t);close(g);
end.