1、make_heap(_First,_Last);
make_heap(begin(),end(),Compare);
默认建立最大堆,可传入greater<int>()得到最小堆。
2、push_heap()
push_heap(v.begin(),v.end(),less<int>());
在已有的堆上,先插入元素到尾部,再push_heap
3、pop_heap()
将堆顶放到v的尾部,并没有删除,只是放到了末尾,要使用v.pop_back()删除
4、sort_heap() 多次调用pop_heap(),将堆顶放到最后,每次操作大小减一,即可实现堆排序
参考:https://blog.csdn.net/longhopefor/article/details/38303545