priority_queue 优先队列

其优先队列跟队列是一样的,只能从队尾插入元素,从队头删除元素

所以对头往往是比较大的元素,导致出队时,先把最大的那个元素输出。(从大到小)顺序输出

STL中的使用方法:

q.qush(a):把a元素放入队列q中

q.pop():删除队列中的元素

q.top():取栈顶的元素

q.size():队列q中元素的个数

q.empty():队列中是否为空

 

头文件:#include <queue>

优先队列的声明:

①:priority_queue<int> q;     定义了优先队列q(注意:其输出是按元素从大到小的顺序输出

②复杂的定义声明:

 priority_queue<int, vector<int>, cmp>q;

struct cmp{

    bool operator()(int x, int y){

    return x>y;

}

}

priority_queue<int, vector<int>, greater<int> >q;(内置由大到小输出)

③元素类型是结构体(在结构体中重载 "<" )

//定义结构体

struct Node{

    int a;

    int b;

    bool  operator < (Node a, Node b) 

    {

         //从按小到大排列

         return a.a>b.a;

     } 

}

priority_queue<Node>q;

 

后面会持续更新

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值