procedure Ordina;
var
i, j: Integer;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
Scambia(a[i], a[j]);
end;
procedure Ordina;
var
i, j: Integer;
begin
for i:=n-1 downto 1 do
for j:=1 to i do
if a[j]>a[j+1] then
Scambia(a[j], a[j+1]);
end;
procedure Ordina;
var
i, j, t: Integer;
begin
for i:=2 to n do
begin
t:=a[i];
j:=i;
while (a[j-1]>t) and (j>1) do
begin
a[j]:=a[j-1];
Dec(j);
end;
a[j]:=t;
end;
end;
procedure Ordina(inf, sup: Integer);
var
i, j, p: Integer;
begin
i:=inf; j:=sup;
p:=a[(inf+sup) div 2];
repeat
while a[i]<p do Inc(i);
while a[j]>p do Dec(j);
if i<=j then
begin
Scambia(a[i], a[j]);
Inc(i); Dec(j);
end;
until i>j;
if inf<j then Ordina(inf, j);
if i<sup then Ordina(i, sup);
end;
- File da includere i tutti programmi precedenti: V-ORD-XX.PAS