优先队列

优先队列  priority_queue<> Queue   STL的一部分

头文件 #include<queue>

性质:还是一个队列,只不过每个元素都有优先级或者权,(对于整数来讲可能就是整数本身的大小),里面的元素都是按照优先级的顺序排列,出队时也是按照优先级从大到小。

基本的操作:

Queue.empty()判断是否为空

Queue.top()取优先级最高的

Queue.pop()出队首元素

Queue.push()在基于优先级的适当位置进队一个

Queue.size()返回队列中元素的个数

优先队列中插入和删除操作都是 O(lgn)


几种用法:

priority_queue<int>Queue

按照整数由大到小的顺序  比如9876


priority_queue<int, vector<int>, greater<int> >Queue

这是按从小到大排   第二个参数是容器类型 第三个参数是比较函数 注意最后两个>间要有空格隔开,否则报错


自定义优先级的:

struct number

{

int value;

int  priority;

bool operator<(number n1, number n2)const

{

return n1.priority<n2.priority;

}

};

priority_queue<number>Queue;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值