Cod sursa(job #1413363)

Utilizator RaduhhRadu Flocea Raduhh Data 1 aprilie 2015 20:33:50
Problema Sortare prin comparare Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.78 kb
program sortare_prin_comparare;

var f,g:text;
    bufin:array[1..1 shl 22] of char;
    a:array[1..500000] of longint;
    i,n:longint;

procedure quick(l,r:longint);

var x,i,j,aux:longint;

begin

    x:=(l+r) div 2;
    i:=l; j:=r;
      while a[i]<x do inc(i);
      while a[j]>x do dec(j);
      if i<=j then
        begin
          aux:=a[i];
          a[i]:=a[j];
          a[j]:=aux;
          inc(i);
          dec(j);
        end;
    if l<j then quick(l,j);
    if r>i then quick(i,r);

end;

BEGIN

    assign(f,'algsort.in');reset(f);
    readln(f,n);
    for i:=1 to n do
      read(f,a[i]);

    quick(1,n);

    assign(g,'algsort.out');rewrite(g);
    settextbuf(f,bufin);
    for i:=1 to n do
      write(g,a[i],' ');
    close(g);

END.