add  heap sort and test case