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 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/fate-/p/12290429.html
Copyright © 2011-2022 走看看