C++ 优先队列priority_queue用法


普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素最先删除。

头文件:#include<queue>

操作:

  • top 访问队头
  • empty 队列是否为空
  • size 返回队列元素个数
  • push 插入元素到队尾
  • pop 弹出队头
  • swap 交换内容

定义:

 1 /*
 2 Type 数据类型
 3 Container 容器类型(必须是vector,deque等数组实现的容器)
 4 Functional 比较方式
 5 */
 6 priority_queue<Type, Container, Functional>
 7 
 8 //实例
 9 //升序队列
10 priority_queue <int,vector<int>,greater<int> > q;
11 //降序队列
12 priority_queue <int,vector<int>,less<int> >q;
13 
14 //greater和less是std实现的两个仿函数(就是使一个类的使用看上去像一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM