Pagini recente » Cod sursa (job #119838) | Cod sursa (job #1236181) | Cod sursa (job #1237655) | Cod sursa (job #291045) | Cod sursa (job #408726)
Cod sursa(job #408726)
program QSort;
const
Max = 500000;
type
vec = array[1..Max] of int64;
var
a: vec;
i,n: Int64;
f,t:text;
procedure QuickSort(var a: vec; Lo, Hi: Integer);
procedure Sort(l, r: Integer);
var
i, j, x, y: integer;
begin
i := l; j := r; x := a[(l+r) DIV 2];
repeat
while a[i] < x do i := i + 1;
while x < a[j] do j := j - 1;
if i <= j then
begin
y := a[i]; a[i] := a[j]; a[j] := y;
i := i + 1; j := j - 1;
end;
until i > j;
if l < j then Sort(l, j);
if i < r then Sort(i, r);
end;
begin {QuickSort};
Sort(Lo,Hi);
end;
begin {QSort}
assing(f,'algsort.in');
reset(f);
assign(t,'algsort.out');
rewrite(t);
read(f,n);
for i:=1 to n do
read(f,a[i]);
{------------------------}
QuickSort(a, 1, n);
{------------------------}
for i:=1 to n do
write(t,a[i],' ');
close(t);
close(f);
end.