stl中堆的应用

今天用了一下stl中的堆,蛮好用的

介绍一下几种功能

一、堆的建立可以依赖于数组或是容器(vectorlist

二、make_heap(a,a+n)a1--an-1建堆  make_heap(v.begin(),v.end())  默认是大根堆

三、pop_heapaa+n)  将堆顶元素放到数组(容器)最后,并把剩余元素重新建堆

四、 push_heapaa+n)将最后一个元素插入堆的相应位置

不过stl的容器好慢啊

 

注意:默认是大根堆   小根堆的cmp是  a > b


bool cmp(int x,int y)
{
return x>y;
}

原文地址:https://www.cnblogs.com/zhanzhao/p/3608102.html