Cod sursa(job #303007)

Utilizator cheery_g1rlHaller Emanuela cheery_g1rl Data 9 aprilie 2009 14:26:27
Problema Sortare prin comparare Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.74 kb
type tip=0..2147483648;
var v:array[1..500005] of tip;
    n,i:longint;
procedure qsort(s,d:longint);
   var a,b,t,ia:tip;
   begin
     a:=s; b:=d;
     repeat
       while (v[a]<v[b]) do dec(b);
       t:=v[a]; v[a]:=v[b]; v[b]:=t;
       ia:=1; a:=a+1;
       if a<b then
         begin
           while v[a]<v[b] do inc(a);
           t:=v[a]; v[a]:=v[b]; v[b]:=t;
           b:=b-1; ia:=0;
         end;
     until b<=a;
     if s<a-ia then qsort(s,a-ia);
     if d>a-ia+1 then qsort(a-ia+1,d);
   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]);
qsort(1,n);
for i:=1 to n do write(v[i],' ');
close(output);
close(input);
end.