Cod sursa(job #262967)

Utilizator 05_YohnE1 La5c01 05_Yohn Data 19 februarie 2009 19:51:01
Problema Sortare prin comparare Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.64 kb
type list=array[1..500000]of longint;
var Data:list;
    n,i:longint;
    f:text;
procedure qSort(l,r:longint);
var i,j,x,y:longint;
begin
i:=l;
j:=r;
x:=data[(l+r) DIV 2];
repeat
while data[i]<x do inc(i);
while x<data[j] do dec(j);
if i<=j then begin
        y:=data[i];
        data[i]:=data[j];
        data[j]:=y;
        inc(i); dec(j);
        end;
until i > j;
if l<j then qSort(l, j);
if i<r then qSort(i, r);
end;
begin
assign(f,'algsort.in');reset(f);
read(f,n);
for i := 1 to n do read(f,data[i]);
close(f);
qSort(1,n);
assign(f,'algsort.out');rewrite(f);
for i:=1 to n do Write(f,Data[i],' ');
close(f);
end.