Cod sursa(job #1195530)

Utilizator maricasorinSorin-Gabriel maricasorin Data 7 iunie 2014 17:14:10
Problema Sortare prin comparare Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.63 kb
program sort;
type vector=array [1..500000] of longint;
var i,n:longint;
    v:vector;
    f,g:text;
procedure quick(i,n:integer;var v:vector);
 var t,j,aux:longint;
 begin
 if n>i then begin
  t:=0;
  j:=i;
  while (j<n) and (n-t>j) do
   if v[j]>v[n] then begin
    t:=t+1;
    aux:=v[n-t];
    v[n-t]:=v[j];
    v[j]:=aux;
    end
    else j:=j+1;
  aux:=v[n];
  v[n]:=v[n-t];
  v[n-t]:=aux;
  quick(i,n-t-1,v);
  quick(n-t+1,n,v);
  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,v[i]);
quick(1,n,v);
for i:=1 to n do write (g,v[i],' ');
close(f);
close(g);
end.