有位博主的博客写的挺好的
http://www.cnblogs.com/mfryf/archive/2012/09/05/2671883.html
#include <queue>
using namespace std;
priority_queue<T> 默认为大根堆,抛出最大元素
priority_queue<T, vector<T>, greater<T> > 改为小根堆,抛出最小元素
个人比较喜欢的还有重载cmp,因为在堆中放置自定义类型的时候,无论大小堆都要重载一下CMP。
struct cmp
{
bool operator() (constNode& a, const Node &b)
{
return a.key > b.key; //这时是小根堆,改为小于号后为大根堆
}
}
当然还有重载运算符的方法