Cod sursa(job #927835)

Utilizator patrascu_eugen96Patrascu Eugen patrascu_eugen96 Data 26 martie 2013 08:29:48
Problema Sortare prin comparare Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.86 kb
program qsort;
type vector=array[1..10000] of integer;
var v:vector;
    i,n:integer;
    f,g:text;

procedure qsort(var v:vector; st,dr:integer);
var i,j,pivot,aux:integer;
begin
i:=st;
j:=dr;
pivot:=v[(st+dr) div 2];
while i<=j do begin
              while v[i]<pivot do inc(i);
              while v[j]>pivot do dec(j);
              if i<=j then begin
                           aux:=v[i];
                           v[i]:=v[j];
                           v[j]:=aux;
                           inc(i);
                           dec(j);
                           end;
              end;
if st<j then qsort(v,st,j);
if i<dr then qsort(v,i,dr);
end;

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