Add heap sort