Cod sursa(job #303005)

Utilizator cheery_g1rlHaller Emanuela cheery_g1rl Data 9 aprilie 2009 14:25:24
Problema Sortare prin comparare Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.81 kb
var v:array[1..500000] of longint;
    n,i:longint;
procedure pivot(s,d:longint; var m:longint);
   var ii,jj,pi,pj,aux:longint;
   begin
     ii:=s; jj:=d; pi:=0; pj:=1;
     while ii<jj do
       begin
         if v[ii]>v[jj] then
           begin
             aux:=v[ii]; v[ii]:=v[jj]; v[jj]:=aux;
             aux:=pi; pi:=pj; pj:=aux;
           end;
         ii:=ii+pi; jj:=jj-pj;
       end;
     m:=ii;
   end;
procedure sort(s,d:longint);
   var m:longint;
   begin
     if s<d then
       begin
         pivot(s,d,m);
         sort(s,m-1); sort(m+1,d);
       end;
   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]);
sort(1,n);
for i:=1 to n do write(v[i],' ');
close(output);
close(input);
end.