Изменения
→Восстановление свойств кучи
  if (left == right == inf) return
  if (right <= left && right < A[i])
    swap(A[2 * i + 1], A[i])
    sift_down(2 * i + 1)  
  if (left < A[i]) 
    swap(A[2 * i], A[i])
    sift_down(2 * i) 
</code>
 if (i == 1) return
  if (A[i] < A[i / 2])
    sift_up(i / 2)
</code>
