произошло нарушение
произошло нарушение основного свойства. При этом элемент с большим приоритетом поднимается вверх, а элемент с меньшим приоритетом занимает его место.
Легко видеть, что при таком обмене свойство для вершин, стоящих ниже, не нарушается. Такое преобразование приводит к новому полному бинарному дереву (рис 6б.), которое еще не удовлетворяет основному свойству кучи (для вершины с индексом 2). Поэтому применяем аналогичный обмен для вершины с индексом 5. Результат этого преобразования изображен на рис 7. В результате получено полное бинарное дерево, которое удовлетворяет основному свойству кучи. Поэтому, процедура добавления элемента завершена.
S[0]: = 0;
for i:= 1 to N do {1. 1}
S[i]: = S[i - 1] + a[i];
Type Queue=array[1.. maxqueue] of real;
procedure insert(x:integer;
var H: array [0..n] of integer;
var Num:integer;
var code:integer;);
var i;
begin
if Num=n
then
code:=1
else
begin
Num:=Num+1;
i:=Num;
H[0]:=x; {барьер}
while (x < H[i div 2]) do
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа