c++ STL中heap的用法(priotity_queue待续)

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

猜你喜欢

转载自blog.csdn.net/u012686154/article/details/81663928