Cod sursa(job #1413494)

Utilizator vasica38Vasile Catana vasica38 Data 1 aprilie 2015 21:49:51
Problema Sortare prin comparare Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
program sortare_prin_comparare;

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

procedure quick(l,r:longint);

var x,i,j,aux:longint;

begin

    x:=a[(l+r) div 2];
    i:=l; j:=r;
    repeat
      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;
    until i>j;
    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);
    for i:=1 to n do
      write(g,a[i],' ');
    close(g);

END.