STL:顶堆

大顶堆:(默认)

priority<T, vector<T>, less<T» pri

小顶堆:

priority<T, vector<T>, greater<T» pri

原地建堆

vector<int> p

eg.

make_heap(p.begin(), p.end(),greater<>()/*camp()*自定义/)

pop_heap(p.begin(), p.end()) //将第一个也是最大的元素移动到最后

改变头

p.back() =

push_heap(p.begin(), p.end()) //释放恢复排序的信号

Table of Contents