Cod sursa(job #552702)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 12 martie 2011 18:51:30
Problema Sortare prin comparare Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.7 kb
var v:array[1..500000] of int64;
    i, j, m, n:longint;
    aux:int64;
    f, g:text;

procedure qsort(q1, q2:integer);
var st, dr, x:integer;
  begin
  if q1<q2 then
    begin
    st:= q1; dr:=q2;
    x:=v[q1];
    while st<dr do
      begin
      while (st<dr) and (v[dr]>=x) do dr:=dr-1;
      v[st]:=v[dr];
      while (st<dr) and (v[st]<=x) do st:=st+1;
      v[dr]:=v[st];
      end;
    v[st]:=x;
    qsort(q1, st-1);
    qsort(st+1, q2);
    end;
  end;



begin
assign (f, 'algsort.in'); reset (f);
assign (g, 'algsort.out'); rewrite (g);

read (f, n);
for i := 1 to n do read (f, v[i]);

qsort(1, n);


for i := 1 to n do write (g, v[i], ' ');
close (f); close (g);
end.