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<操作符来比较 元素中的优先级。

//在重载”<”时,最好不要重载”>”, 可能会发生编译错误

最新文章

  1. hadoop-ha QJM 架构部署
  2. linux 添加用户
  3. 垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
  4. uva 11324 The Largest Clique (Tarjan+记忆化)
  5. 卸载服务器自带httpd服务
  6. [转]easyui常用控件及样式收藏
  7. vxworks下文件读写示例
  8. 通用查询类封装之Mongodb篇
  9. Python&#160;一键commit文件、目录到SVN服务器
  10. Xcode工程编译错误:“Cannot assign to &#39;self&#39; outside of a method in the init family”
  11. spring boot 概念
  12. C++中的也能使用正则表达式----转载
  13. 重学Verilog(3)——参数化模块
  14. [python]python安装包错误
  15. UVA11734_Big Number of Teams will Solve This
  16. Atitit.mysql oracle with as模式临时表模式 CTE 语句的使用,减少子查询的结构性 mssql sql server..
  17. 01_Zookeeper简述
  18. 【nlogn LIS】 模板
  19. Java设计模式(22)——行为模式之状态模式(State)
  20. ST表算法笔记

热门文章

  1. 1.ASP.NET Core 中向 Razor Pages 应用添加模型
  2. elasticsearch原理学习笔记
  3. 图解HTTP(三)
  4. mvc和mvvm模式
  5. linux查看log软件
  6. WPF弹出进度条
  7. weblogic如何修改密码&amp;密码找回
  8. 肖哥HCNP-学前准备篇笔记
  9. Linux命令——chgrp、chown、chmod
  10. Codeforces G. Nick and Array(贪心)