Cod sursa(job #286089)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 23 martie 2009 14:03:06
Problema Sortare prin comparare Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
type vector=array[1..500000] of longint;
var a:vector;
n,i,m:longint;
f,g:text;


procedure Sortare(s,d:longint);
      	VAR i,j:longint;
          x,w:longint;
      	begin
      	if (s < d) then begin
	        i := s - 1; j := d + 1; x := (s+d) div 2;
        	repeat
        		repeat inc(i) until a[i] >= a[x];
          		repeat dec(j) until a[j] <= a[x];
          		if i< j then begin
            			w:=a[i]; a[i]:=a[j]; a[j]:=w;
          		end
       		until i >= j;
       		Sortare(s,j);
       		Sortare(j + 1,d);
      	end;
end;
   
begin
	assign(f,'algsort.in'); assign(g,'algsort.out');
	reset(f); rewrite(g);
	
	readln(f,n);
	for i:=1 to n do read(f,a[i]);
	
	Sortare(1,n);

	for i:=1 to n do
		write(g,a[i],' ');
	close(f); close(g);

end.