Cod sursa(job #1199017)

Utilizator cojocarugabiReality cojocarugabi Data 17 iunie 2014 22:47:45
Problema Sortare prin comparare Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.89 kb
var s:array[1..500000] of longint;
  i,j:                    longint;
    n:                    longint;
    t:                       text;
  procedure qsort(st,dr:longint);
   var i,j,k,aux:longint;
    begin
     i:=st;
     j:=dr;
     k:=s[(i+j) div 2];
     repeat
      while (s[i]<k) do inc(i);
      while (s[j]>k) do dec(j);
      if (i<=j) then begin
                aux:=s[i];
                s[i]:=s[j];
                s[j]:=aux;
                inc(i);
                dec(j);
      end;
     until (i>=j);
     if (i<dr) then qsort(i,dr);
     if (j>st) then qsort(st,j);
    end;
      begin
       assign(t,'algsort.in');
       reset(t);
       readln(t,n);
       for i:=1 to n do read(t,s[i]);
       close(t);
       assign(t,'algsort.out');
       rewrite(t);
       qsort(1,n);
       for i:=1 to n do write(t,s[i],' ');
       close(t);
      end.