I personaly find it is straightforward to use Bottom-up reheapify ( swim) and Top-down reheapify (sink) from the book of Rober Sedgewick and Kevin Wayne to discuss heap.