(优先)队列简单总结

Posted noobimp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(优先)队列简单总结相关的知识,希望对你有一定的参考价值。

就总结下写法吧老是忘啊属实dd

1.队列及相关操作

1 queue <Type> q;
1 q.size();//返回q里元素个数
2 q.empty();//返回q是否为空,空则返回1,否则返回0
3 q.push(k);//末尾插入k
4 q.pop();//删掉q的第一个元素
5 q.top();//返回q的第一个元素 ≈ q.front();
6 q.back();//返回q的末尾元素

2.简单优先队列:默认降序队列

1 priority_queue <Type> q;

3.自定义优先队列

先把原型摆上: priority_queue<Type, Container, Functional>

 

1 //升序队列 
2 priority_queue <Type,vector<Type>,greater<Type> > q; 
3 
4 //降序队列
5  priority_queue <Type,vector<Type>,less<Type> >q; 

 

 1 //(一) 写比较函数实现降序队列
 2 struct tmp1 { int x; int y; };
 3 
 4 struct tmp2 {
 5     bool operator() (tmp1 a, tmp1 b) {
 6         return a.y < b.y; 
 7     }
 8 };
 9 
10 priority_queue<tmp1, vector<tmp1>, tmp2> f;

 

 

 1 //(一)在结构体里重载运算符实现降序队列
 2 struct tmp1 {
 3      int x; int y;
 4      tmp1(int a,int b) {x = a; y=b;}
 5      bool operator<(const tmp1& c) const{
 6          return y < c.y; 
 7     }
 8 };
 9 
10 priority_queue<tmp1> d;

 

以上是关于(优先)队列简单总结的主要内容,如果未能解决你的问题,请参考以下文章

# Java 常用代码片段

优先级队列总结

优先级队列的总结

优先队列

PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例

PriorityQueue(优先级队列总结)