优先队列

 

优先队列:优先队列不同于一般队列的是,队列中的元素按照某项特征值的大小进行排列.

优先队列的操作命令也与队列不同,队头元素为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;

 

posted @ 2017-08-30 17:07  hinata_hajime  阅读(177)  评论(0编辑  收藏  举报