v 0.4 heap sort