Pagini recente » Cod sursa (job #1681063) | Cod sursa (job #2283192) | Cod sursa (job #2141750) | Cod sursa (job #1532238) | Cod sursa (job #406960)
Cod sursa(job #406960)
program gyorsrendezes;
//uses crt;
var
v: array[1..500000] of longint;
i,n:longint;
be,ki:text;
procedure feloszt(bal,jobb:longint; var j:longint);inline;
var
seged:longint;
i,elvalaszto:longint;
begin
elvalaszto:= v[(bal+jobb) shr 1];
i:=bal;
j:=jobb;
repeat
while v[i] < elvalaszto do
inc(i);
while v[j] > elvalaszto do
dec(j);
if i<=j then
begin
if i<>j then
begin
seged:=v[i];
v[i]:=v[j];
v[j]:=seged;
end;
inc(i);
dec(j);
end
else break;
until i>j;
end;
procedure QuickSort(bal,jobb:longint);
var
m:longint;
begin
if bal > jobb then exit;
feloszt(bal,jobb,m);
QuickSort(bal,m);
QuickSort(m+2,jobb);
end;
begin
assign(be,'algsort.in');
assign(ki,'algsort.out');
randomize;
reset(be);
rewrite(ki);
readln(be,n);
for i:=1 to n do read(be,v[i]);
QuickSort(1,n);
for i:=1 to n do write(ki,v[i],' ');
close(ki);
end.