zoukankan      html  css  js  c++  java
  • queue 类

     一:普通队列

    1、队列特征:先进先出,它只允许在一端(队尾)进行插入元素操作,在另一端(队头)进行删除元素操作

    2、 存取类函数

         front():用来取出queue中的队头元素,对应于front()函数。

         back():用来取出queue中的队尾元素,对应于back()函数。

         操作类函数

         push_back():用来向queue的队尾插入元素,对应于push()函数。

         pop_back():用来将queue中的队头元素删除,对应于pop()函数。

    3、如果要使用queue类函数,需要使用以下指令

         #include<queue>

         using namespace std;

    4、队列的构造

         queue<数据类型> 队列名;

         queue<int> q;

       容量类函数

    5、empty():用来判断queue是否为空,如果为空返回true ;否则返回false

    6、size():用来返回queue容器的大小即实际元素个数

    二、优先队列

    在<queue>头文件中,还定义了一个非常有用的模版类priority_queue(优先队列),优先队列与队列的差别在于优先队列不是按照入队的顺序出队,而是按照队列中元素的优先权顺序出队(默认为大者优先,也可以通过指定算子来指定自己的优先顺序)。

    priority_queue模版类有三个模版参数,元素类型,容器类型,比较算子。其中后两个都可以省略,默认容器为vector,默认算子为less,即小的往前排,大的往后排(出队时序列尾的元素出队)。

    坑爹的是,虽然用的是less结构,然而,队列的出队顺序却是greater的先出!就是说,这里这个参数其实很傲娇

    1、 优先队列的构造

         priority_queue<int> da;

        priority_queue<int,vector<int>,greater<int> > xiao;////////小的先出

    2、优先队列的使用

         操作类:

     

         push_back():用来向priority_queue的队尾插入元素,对应于push()函数。///q.push

         pop_back():用来将priority_queue中的队头元素删除,对应于pop()函数。

         存取类

         top():用来将priority_queue中优先级最高的元素输出

         top与pop配合 不断输出元素priority_

    容量类函数

    5、empty():用来判断priority_queue是否为空,如果为空返回true ;否则返回false

    6、size():用来返回priority_queue容器的大小即实际元素个数

  • 相关阅读:
    正则表达式匹配整数和小数
    解决任务计划程序未启动任务,因为相同任务的实例正在运行的问题
    ActiveMQ 消息持久化到数据库(Mysql、SQL Server、Oracle、DB2等)
    C# CLR20R3 程序终止的几种解决方案
    彻底消除wine中文乱码,QQ,kugoo等等....
    Fedora如何添加第三方软件源?
    [转]Fedora 下安装NVIDIA显卡驱动(使用后无法进入图形界面)
    向fedora添加rpmfusion源
    [转]Java 8 Optional类深度解析(null处理)
    [转载]深入理解Java 8 Lambda
  • 原文地址:https://www.cnblogs.com/wshyj/p/6263044.html
Copyright © 2011-2022 走看看