add heap sort and merge sort