hmove
hmove(heap[i], heapsubi);
hmove(heap[k], heap[i]);
hmove(heapsubi, heap[i]);
hmove(heap[n], heap[1]);