queue怎么用咧↓↓↓
2024-09-08 12:49:35
queue(队列)
定义:queue <int> a;
插入队尾:a.push(x);
查询队尾:a.back();
查询队首:a.front();
删除队首:a.pop();
查询长度:a.size();
判断队列为空:q.empty()
清空只能慢慢pop。
priority_queue(优先队列/堆)
基本操作:
q.empty()
如果队列为空,则返回真
q.pop()
删除对顶元素,删除第一个元素
q.push()
加入一个元素
q.size()
返回优先队列中拥有的元素个数
q.top()
返回优先队列中有最高优先级的元素 在默认的优先队列中,优先级高的先出队。在默认的int型中先出队的为较大的数
声明方式:
priority_queue<int> q;
//通过操作,按照元素从小到大的顺序出队 priority_queue<int,vector<int>, greater<int> > q;
//通过操作,按照元素从大到小的顺序出队 (less<int>)
结构体声明方式:(和sort一样)
struct node {
int x, y;
bool operator < (const node &a)const
{
return x > a.x; //结构体中,x小的优先级高
}
};
priority_queue<node>q; //定义方法
//在该结构中,y为值, x为优先级。
//通过自定义operator<操作符来比较 元素中的优先级。
//在重载”<”时,最好不要重载”>”, 可能会发生编译错误
最新文章
- hadoop-ha QJM 架构部署
- linux 添加用户
- 垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
- uva 11324 The Largest Clique (Tarjan+记忆化)
- 卸载服务器自带httpd服务
- [转]easyui常用控件及样式收藏
- vxworks下文件读写示例
- 通用查询类封装之Mongodb篇
- Python&#160;一键commit文件、目录到SVN服务器
- Xcode工程编译错误:“Cannot assign to &#39;self&#39; outside of a method in the init family”
- spring boot 概念
- C++中的也能使用正则表达式----转载
- 重学Verilog(3)——参数化模块
- [python]python安装包错误
- UVA11734_Big Number of Teams will Solve This
- Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..
- 01_Zookeeper简述
- 【nlogn LIS】 模板
- Java设计模式(22)——行为模式之状态模式(State)
- ST表算法笔记