c++ 优先队列 priority_queue

c++ 优先队列 priority_queue

基本性质
优先队列与队列的差别在于优先队列不是按照入队的顺序出队,而是按照队列中元素的优先权顺序出队。头文件还是<queue>。可以用priority_queue<int>que来声明,这个que是一个“越小整数优先级越低的优先队列”。

基本操作

基本操作与队列相同,不过取队首元素从front()变成了top()。

    que.top()  // 取队首元素
    que.back() // 取队尾元素
    que.push(x)// 将元素x入队
    que.pop()  // 将队首元素出队
    que.size() // 返回队列的长度(即队列中的元素个数) 
    que.empty()// 判断队列是否为空,若为空则返回1,否则返回0

当然我们可以自己定义优先级

struct node
{
    int x;
    int y;
    friend bool operator<(node n1,node n2)
    {
       return n1.y>n2.y;
    }
};

priority_queue<node>que;//这个优先队列是“当y值越大,优先级越低的优先队列”
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值