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.youkuaiyun.com/longhopefor/article/details/38303545
本文详细介绍了C++ STL中关于堆的操作函数,包括make_heap、push_heap、pop_heap及sort_heap的使用方法。通过这些函数可以轻松地实现最大堆、最小堆的建立和维护,以及基于堆的排序。
467

被折叠的 条评论
为什么被折叠?



