Cod sursa(job #338333)

Utilizator hominiduBirsan Dragos hominidu Data 5 august 2009 15:14:35
Problema Sortare prin comparare Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.71 kb
var f,g:text;
    a:array[1..5000] of longint;
   n,aux,i:longint;

procedure divid(st,dr:longint);
var p,i,j:longint;
begin
i:=st;
j:=dr;
p:=a[(st+dr)div 2];
while (i<=j) do
   begin
     while (a[i]<p) do i:=i+1;
     while (a[j]>p) do j:=j-1;
     if i<=j then begin
             aux:=a[i];
             a[i]:=a[j];
             a[j]:=aux;
             i:=i+1;
             j:=j-1;
             end;
   end;
   if st<j then divid(st,j);
   if dr>i then divid(i,dr);
end;



Begin
assign(f,'algsort.in');
reset(f);
read(f,n);
readln(f);
for i:=1 to n do
read(f,a[i]);
close(f);
divid(1,n);
assign(g,'algsort.out');
rewrite(g);
for i:=1 to n do
write(g,a[i],' ');
close(g);
End.