Cod sursa(job #555592)

Utilizator FLORINSTELISTUOprea Valeriu-Florin FLORINSTELISTU Data 15 martie 2011 17:11:07
Problema Sortare prin comparare Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.85 kb
program quicksort;
type vector=array[1..500005]of longint;
var i,n,k:longint;a:vector;f,g:text;
procedure poz(li,ls:longint;var k:longint;var a:vector);
var i,j,c,i1,j1:longint;
begin
    i1:=0;j1:=-1;
    i:=li;j:=ls;
     while i<j do begin
      if a[i]>a[j] then begin
       c:=a[j];
       a[j]:=a[i];
       a[i]:=c;
       c:=i1;
       i1:=-j1;
       j1:=-c;
       end;
       i:=i+i1;
       j:=j+j1;
       end;
       k:=i;
       end;
procedure quick(li,ls:longint);
begin
   if li<ls then begin
    poz(li,ls,k,a);
    quick(li,k-1);
    quick(k+1,ls);
     end;
     end;
begin
    assign(f,'algsort.in');reset(f);
    assign(g,'algsort.out');rewrite(g);
      readln(f,n);
       for i:=1 to n do read(f,a[i]);
       quick(1,n);
        for i:=1 to n do write(g,a[i],' ');
        close(f);close(g);
        end.