Cod sursa(job #1413074)

Utilizator ursu.daniel2202dUrsu Daniel ursu.daniel2202d Data 1 aprilie 2015 18:23:47
Problema Sortare prin comparare Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.73 kb
program sortare_prin_comparare;

var f,g:text;
	bufin:array[1..1 shl 22] of char;
	a:array[1..500000] of longint;
	i,n:longint;

procedure quick(l,r:longint);

var x,i,j,aux:longint;

begin 

	x:=(l+r) div 2;
	i:=l; j:=r;
	repeat
	  while a[i]<x do inc(i);
	  while a[j]>x do dec(j);
	  if i<=j then
	  	begin
	  	  aux:=a[i];
	  	  a[i]:=a[j];
	  	  a[j]:=aux;
	  	  inc(i);
	  	  dec(j);
	  	end;
	until i>j;
	if l<j then quick(l,j);
	if r>i then quick(i,r);

end;

BEGIN

	assign(f,'algsort.in');reset(f);
	readln(f,n);
	for i:=1 to n do
	  read(f,a[i]);
	close(f);

	quick(1,n);

	assign(g,'algsort.out');rewrite(g);
	settextbuf(f,bufin);
	for i:=1 to n do
	  write(g,a[i],' ');
	close(g);

END.