333
правки
Изменения
→Восстановление свойств кучи
<code>
'''function''' siftDown(i : '''int'''):
'''ifwhile''' 2 * i + 1 2 <= Aa.heap_size <font color = "green">// <tex>heap</tex>_<tex>size </tex> {{---}} количество элементов в куче</font> '''if''' 2 * i + 1 <= a.heap_size left = A[2 * i + 1] <font color = "green">// левый сын</font> '''else''' left = inf '''if''' 2 * i + 2 <= A.heap_size
right = A[2 * i + 2] <font color = "green">// правый сын</font>
</code>
Если значение измененного элемента уменьшается, то свойства кучи восстанавливаются функцией <tex> \mathrm {siftUp} </tex>.