Cod sursa(job #1234396)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 27 septembrie 2014 12:29:16
Problema Sortare prin comparare Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.01 kb
Program a1;
uses crt;
var a:array[1..500001] of longint;
    n:longint;
    f,g:text;
procedure qsort(var v:array of longint;left,right:longint);
var i,j,aux,pivot:longint;
begin
   i := left;
   j := right;
   pivot := v[(i+j) div 2];
   while i <= j do
      begin
         while v[i] < pivot do
             inc(i);
         while v[j] > pivot do
             dec(j);
         if i <= j then begin
            aux := v[i];
            v[i] := v[j];
            v[j] := aux;
            inc(i);
            dec(j);
         end;
      end;
   if left < j then
       qsort(v,left,j);
   if i < right then
       qsort(v,i,right);
end;

procedure citire;
var i:longint;
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]);
   close(f);
end;

procedure afis;
var i:longint;
begin
   for i:=1 to n do
      write(g,a[i],' ');
   close(g);
end;

begin
  citire;
  qsort(a,0,n-1);
  afis;
end.