摘要:
heap-sort基本操作a, push_heap,将新元素加入heap中。做法是先将元素加至序列最后,然后逐渐向上交换,直到到达合适位置,即所谓sift-up操作。基本操作b, pop_heap,从堆中删除根元素。做法是先将根元素交换至最后(待删除位置),然后调整新的根到合适位置,即所谓sift-down操作。基本操作c,make_heap,调整一个随机序列使其满足堆结构。以上三个基本操作STL中就有提供,用这三个基本操作,可以直接搞出heap-sort了。实际上,heap-sort只需要make_heap和pop_heap即可。push_heap在实现类似priority_queue的时候 阅读全文