i:=Num; H[0]:=x;
i:=Num;
H[0]:=x; {барьер}
while (x < H[i div 2]) do
begin
H[i]:=H[i div 2];
i:=i div 2;
end; {while}
H[i]:=x;
code:=0;
end; {if}
end; {insert}
function delete_min(var H: array [0..n] of integer;
var Num:integer;
var code:integer):integer;
var i,child:integer;
last_el:element;
stop:boolean;
begin
if Num=0
then
code:=2
else
begin
delete_min:=H[1];
last_el:=H[Num];
Num:=Num-1;
i:=1; stop:=False;
while (2*i<=Num) and (not stop) do
begin
child:=2*i;
if child < Num then
if H[child+1] < H[child]
then child:=child+1;
if last_el > H[child] then
begin
H[i]:=H[child];
i:=child;
end
else
stop:=True;
end; {while}
H[i]:=last_el;
code:=0;
end; {if}
end; {delete_min}
В S[i] хранится значение функции S(i).
Здесь и далее в круглых скобках будут записываться аргументы функции, а в квадратных - индексы элементов массива. При этом имя функции и имя массива, в котором хранится значение этой функции, могут
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа