Cod sursa(job #1133373)

Utilizator azkabancont-vechi azkaban Data 4 martie 2014 20:26:44
Problema Sortare prin comparare Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 1.06 kb
Program qsort;
var A : array [1..500000] of int64;
    n,i : longint;

procedure swap(var x,y : longint);
     var aux: longint;
       begin
          aux:=x;
          x:=y;
          y:=aux;
       end;

procedure qsort ( left, right : longint ) ;
        var i,j, pivot : longint;
          begin
            i:=left; j:=right; pivot:=A[(i+j) div 2];
            repeat
                while A[i]<pivot do i:=i+1;
                while A[j]>pivot do j:=j-1;
                if i<=j then begin
                                  swap(A[i],A[j]);
                                  i:=i+1;
                                  j:=j-1;
                             end;
            until i>j;
            if i<right then qsort(i,right);
            if j>left then qsort(left,j);
          end;

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