Pagini recente » Cod sursa (job #1921517) | Cod sursa (job #2450197) | Cod sursa (job #153281) | Cod sursa (job #1808305) | Cod sursa (job #583209)
Cod sursa(job #583209)
program QSort;
type
List = array[1..500000] of longint;
var
f,g:text;
Data: List;
I,n:longint;
procedure QuickSort(var A: List; Lo, Hi: longint);
procedure Sort(l, r: longint);
var
i, j, x, y:longint;
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}
assign(f,'algsort.in');
reset(f);
assign(g,'algsort.out');rewrite(g);
readln(f,n);
for i:=1 to n do read(f,data[i]);
QuickSort(Data, 1,n);
for i := 1 to n do Write(g,Data[i],' ');
close(g);
end.