zoukankan      html  css  js  c++  java
  • 优先队列

    优先队列容器和队列一样,只能从队尾插入元素,从队首删除元素。  

     为什么能叫优先队列呢??因为它有一个特性,就是队列中每个元素都有一个优先级,所以出队时,并不是完全一样的遵循先进先出的原则来进行的,而是将队列中优先级大的出队。这点有点儿类似于给队列里元素先进行一个排序,再按照顺序出队。元素的比较规则默认按照元素值由大到小排序,

    1.头文件:

     1 #include<queue> 

    2.声明方式

    1 priority_queue<int> a; //最基本的声明方式
    2 priority_queue<int,vector<int>,greater<int> > b; //通过操作,按照元素从小到大的顺序出队
    3 priority_queue<int,vector<int>,less<int> >c;     //从大到小

     

    另外还可以自定义排序方法,先不写

    3.常用操作

    • top 访问队头元素
    • empty 队列是否为空
    • size 返回队列内元素个数
    • push 插入元素到队尾 (并排序)
    • emplace 原地构造一个元素并插入队列
    • pop 弹出队头元素
    • swap 交换内容
  • 相关阅读:
    测试用例
    HDU 5024 Wang Xifeng's Little Plot(枚举)
    HDU 1165 Eddy's research II
    java大数总结
    UVA 1646 Edge Case
    HDU 2553 N皇后问题
    【24题】试题库问题【网络流】
    YAPTCHA【数论】
    YAPTCHA【数论】
    YAPTCHA【数论】
  • 原文地址:https://www.cnblogs.com/fate-/p/12290429.html
Copyright © 2011-2022 走看看