Cod sursa(job #257096)

Utilizator Vlad_fiscaVlad Fisca Vlad_fisca Data 12 februarie 2009 19:40:51
Problema Sortare prin comparare Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.74 kb
program algsort;
var f,g:text;
    n,i,j,min:0..500000;
    a:array[1..500000]of longint;
procedure sort(l,r:longint);
var ii,jj,x,y:longint;
begin
   ii:=l;
   jj:=r;
   x:=a[(l+r) div 2];
   repeat
      while(a[ii]<x) do inc(ii);
      while(x<a[jj]) do dec(jj);
      if(ii<=jj) then
      begin
         y:=a[ii];
         a[ii]:=a[jj];
         a[jj]:=y;
         inc(ii);
         dec(jj);
      end;
   until(ii>jj);
   if(l<ii) then sort(l,jj);
   if(ii<r) then sort(ii,r);

end;
begin
   assign(f,'algsort.in');
   assign(g,'algsort.out');
   reset(f);
   rewrite(g);
   read(f,n);
   for i:=1 to n do
      read(f,a[i]);
   sort(1,n);
   for i:=1 to n do
      write(g,a[i],' ');
   close(f);
   close(g);
end.