STL_queue容器

一、queue简介

queue所有元素的进出都必须符合”先进先出”的条件,只有queue的顶端元素,才有机会被外界取用。queue不提供遍历功能,也不提供迭代器。

queue是简单地装饰deque容器而成为另外的一种容器。

#include <queue>

二、queue对象的默认构造

queue采用模板类实现,queue对象的默认构造形式:queue<T> queT;

queue<int> queInt;      //一个存放int的queue容器。
queue<float> queFloat;   //一个存放float的queue容器。
queue<string> queString;   //一个存放string的queue容器。
//尖括号内还可以设置指针类型或自定义类型。

三、queue的push()与pop()方法

queue.push(elem); //往队尾添加元素

queue.pop(); //从队头移除第一个元素

queue<int> queInt;

queInt.push(1);
queInt.push(3);
queInt.push(5);
queInt.push(7);
queInt.push(9);
queInt.pop();
queInt.pop();
//此时queInt存放的元素是5,7,9

四、queue对象的拷贝构造与赋值

queue(const queue &que); //拷贝构造函数

queue& operator=(const queue &que); //重载等号操作符

queue<int> queIntA;
queIntA.push(1);
queIntA.push(3);
queue<int> queIntB(queIntA);    //拷贝构造
queue<int> queIntC;
queIntC = queIntA;              //赋值

五、queue的数据存取

queue.back(); //返回最后一个元素

queue.front(); //返回第一个元素

queue<int> queIntA;
queIntA.push(1);
queIntA.push(3);
queIntA.push(5);
queIntA.push(7);
queIntA.push(9);
int iFront = queIntA.front();       //1
int iBack = queIntA.back();       //9

六、queue的大小

queue.empty(); //判断队列是否为空

queue.size(); //返回队列的大小

queue<int> queIntA;
queIntA.push(1);
queIntA.push(3);
queIntA.push(5);
queIntA.push(7);
queIntA.push(9);
if (!queIntA.empty()){
   int iSize = queIntA.size();     //5
}
(0)

相关推荐

  • STL_vector容器

    一.Vector容器简介 vector是将元素置于一个动态数组中加以管理的容器. vector可以随机存取元素(支持索引值直接存取, 用[]操作符或at()方法). vector尾部添加或移除元素非常 ...

  • STL_stack容器

    一.stack简介 stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口.stack容器允许新增元素,移除元素,取得栈顶元素,但是除了最顶端外,没有任何其 ...

  • STL简介

    一.基本概念 STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.现然主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间. ...

  • C++ STL详解

    转载自:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html 一.STL简介 STL(Standard Template L ...

  • ​LeetCode刷题实战225:用队列实现栈

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  • STL_list容器

    一.List简介 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成.每 ...

  • C++ STL 优先队列 (priority_queue)

    std::priority_queue <queue> 优先队列   1.第一个元素始终为最大元素.   2.有着类似于堆的特性,它可以在其中随时插入元素.   3.支持下标访问(随机访问 ...

  • 欧标容器板20MnMoNi4-5性能,20MnMoNi4-5回火温度

    1.20MnMoNi4-5是欧标压力容器用钢板2.20MnMoNi4-5交货状态:淬火+回火,回火温度:610-690℃3.20MnMoNi4-5执行标准:EN10028-2-20094.20MnMo ...

  • 中低温压力容器板07Cr2AlMoR交货状态

    1.07Cr2AlMoR属于中低温压力容器钢板2.07Cr2AlMoR交货状态:正火+回火或淬火+回火3.07Cr2AlMoR执行标准:GB/T713-20144.07Cr2AlMoR化学成分牌号化学 ...

  • 《C++ Primer》笔记 第9章 顺序容器

    顺序容器类型 类型 解释 vector 可变大小数组.支持快速随机访问.在尾部之外的位置插入或删除元素可能很慢 deque 双端队列.支持快速随机访问.在头尾位置插入.删除速度很快 list 双向链表 ...

  • 中低温焊接容器板SA612M性能分析

    SA612M是一种中低温焊接压力容器用镇静C-Mn-Si钢板 其主要技术条件如下 一.适用范围 本技术协议适用于最大厚度25mm的中低温焊接压力容器用镇静C-Mn-Si钢板的生产及检验. 二.SA61 ...

  • Azure上的Java:监视和扩展容器化的应用程序

    了解应用程序的运行状况至关重要.如果您的服务不可用,则可能会降低生产力并延误其他流程.您可以通过多种方式跟踪应用程序的可用性.AzureMonitor提供了一种收集和分析有关应用程序性能和事件的信息的 ...

  • 焊接(多层)压力容器用淬火加回火碳锰硅钢板SA724GrA性能

    焊接(多层)压力容器用淬火加回火碳锰硅钢板1. 适用范围SA724GrA  SA724GrB  SA724GrC生产C级钢时可添加硼.钢板都应经淬火加回火处理,主要用于焊制多层压力容器.SA724Gr ...

  • 创建用于AI和机器学习的Docker容器

    容器技术(例如Docker)极大地简化了依赖性管理和软件的可移植性.在本系列文章中,我们将探讨Docker在机器学习(ML)场景中的用法. 本系列假定您熟悉ML,一般的容器化,尤其是Docker.欢迎 ...

  • 在启用GPU的Docker容器中运行AI模型

    容器技术(例如Docker)极大地简化了依赖性管理和软件的可移植性.在本系列文章中,我们将探讨Docker在机器学习(ML)场景中的用法. 本系列假定您熟悉ML,一般的容器化,尤其是Docker.欢迎 ...

  • 欧标容器板15NiCuMoNb5-6-4性能

    一.15NiCuMoNb5-6-4简介15NiCuMoNb5-6-4钢板属于欧洲压力容器用钢板,用于制造反应器.换热器.分离器.球罐.油气罐.液化气罐.核能反应堆压力壳.液化石油汽瓶.水轮机蜗壳等.二 ...