Cod sursa(job #708301)

Utilizator mciprianmosincat ciprian mciprian Data 6 martie 2012 18:08:52
Problema Sortare prin comparare Scor 20
Compilator fpc Status done
Runda Arhiva educationala Marime 0.7 kb
var b,a:array[1..500000]of integer;
n,i,c,d,left,right:integer;
f,g:text;
procedure qsort(c,d:integer);
var pivot:byte;
  aux:integer;
begin
pivot:=a[(c+d)div 2];
left:=c;
right:=d;
while left<=right do
begin
 while a[left]<pivot do
 left:=left+1;
 while a[right]>pivot do right:=right-1;
 if left<=right then begin
 aux:=a[left];a[left]:=a[right];a[right]:=aux;
 left:=left+1;
 right:=right-1;end;end;if right>c then qsort(c,right);
 if d>left then qsort(left,d);end; begin
 assign(f,'algsort.in');reset(f);
 assign(g,'algsort.out');rewrite(g);
 readln(f,n);
for i:=1 to n do begin
read(f,b[i]);a[i]:=b[i];end;
c:=1;d:=n;qsort(c,d);
for i:=1 to n do write(g,a[i],' ');close(f);close(g);end.