优先队列
优先队列:优先队列不同于一般队列的是,队列中的元素按照某项特征值的大小进行排列.
优先队列的操作命令也与队列不同,队头元素为Q.top().
讲解详细的博客:http://www.cnblogs.com/heqinghui/archive/2013/07/30/3225407.html
一般的优先队列
priority_queue<int,vector<int>,greater<int> >que3;//注意“>>”会被认为错误//最小值优先
//队尾到队头按从大到小的顺序排列 priority_queue<int,vector<int>,less<int> >que4;////最大值优先
//队尾到队头按从小到大的顺序排列
结构体优先队列:
最小值优先,队尾到队头按从大到小的顺序排列
struct Cmp { bool operator()(const node &x,const node &y){ return x.step>y.step; } }; priority_queue<node,vector<node>,Cmp> Q;
最大值优先,队尾到队头按从小到大的顺序排列
struct Cmp { bool operator()(const node &x,const node &y){ return x.step<y.step; } }; priority_queue<node,vector<node>,Cmp> Q;