queue容器

  1. 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端 提取元素。

  2. 队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的 成员函数来访问其元素。元素从队尾入队列,从队头出队列。

  3. 底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。该底层容器应至少支持以下操 作

       empty:检测队列是否为空  size:返回队列中有效元素的个数front:返回队头元素的引用 back:返回队尾元素的引用push_back:在队列尾部入队列 pop_front:在队列头部出队列
    
  4. 标准容器类deque和list满足了这些要求。默认情况下,如果没有为queue实例化指定容器类,则使用标 准容器deque。

queue没有迭代器

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

queue 对象的默认构造

  1. queue 采用模板类实现,
  2. queue 对象的默认构造形式:queuequeT; 如: queuequeInt; //一个存放 int 的 queue 容器。
  3. queuequeFloat; //一个存放 float 的 queue 容器。 queuequeString; //一个存放 string 的 queue 容器。
  4. … … //尖括号内还可以设置指针类型或自定义类型。

queue 的处理数据的方法

  1. queue.push(elem); //往队尾添加元素
  2. queue.pop(); //从队头移除第一个元素

queue 对象的拷贝构造与赋值

  1. queue(constqueue&que); //拷贝构造函数
  2. queue&operator=(constqueue&que);//重载等号操作符

queue 的数据读取操作

  1. queue.back(); //返回最后一个元素
  2. queue.front(); //返回第一个元素

queue 的大小

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

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

    #include<iostream>using namespace std;
    #include<queue>void test01()
    {queue<int>q;q.push(10);  //往队尾添加元素q.push(20);q.push(30);q.push(40);while (!q.empty()){cout << "队头:" << q.front() << endl;cout << "队尾:" << q.back() << endl;//弹出队头元素q.pop();}cout << "size:" << q.size() << endl;}int main()
    {test01();system("pause");return 0;
    }
    

c++中的queue容器相关推荐

  1. 【小白学习C++ 教程】二十二、C++ 中的STL容器stack、queue和map

    @Author:Runsen STL 中的栈容器是一种容器适配器.在栈容器中,元素在一端插入并在同一端删除. stack 为了实现堆栈容器,我们需要在我们的程序中包含头文件<stack>. ...

  2. C++STL的queue容器

    C++STL的queue容器 queue 基本概念 queue 常用接口 queue 基本概念 概念:Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口 ...

  3. jQuery动画高级用法(上)——详解animation中的.queue()函数

    如果你拿着一个疑问去找专业人士寻找答案,那么你的一个疑问会变成三个,因为他会用另外两个令你更加一头雾水的名词来解释你的这个疑问. 我想这是大多数,包括我在内,IT人在学习过程中碰到的最大问题.当你有一 ...

  4. stack和queue容器

    stack容器 stack是一种先进后出的数据结构,它只有一个出口 栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为 栈可以判断是否为空 empty() 栈可以返回元素个数 size() 入 ...

  5. 深入解析C++ STL中的常用容器

    转载:http://blog.csdn.net/u013443618/article/details/49964299 这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点.STL中的 ...

  6. jQuery动画高级用法(上)——详解animation中的.queue()动画队列插队函数

    决定对animate方面做一些总结,希望能给大家一些启发和帮助 从一个实际应用谈起 今天不谈animate().fadeIn().fadeOut().slideUp().show().hide()诸如 ...

  7. 利用NVIDIA-NGC中的MATLAB容器加速语义分割

    利用NVIDIA-NGC中的MATLAB容器加速语义分割 Speeding Up Semantic Segmentation Using MATLAB Container from NVIDIA NG ...

  8. 聊聊 SpringCloud 中的父子容器

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 来源公号:吉姆餐厅ak 概述 在引入 SpringCloud 的项目中会多次创建 Spring 容 ...

  9. Pytorch中的序列化容器-度消失和梯度爆炸-nn.Sequential-nn.BatchNorm1d-nn.Dropout

    Pytorch中的序列化容器-度消失和梯度爆炸-nn.Sequential-nn.BatchNorm1d-nn.Dropout 1. 梯度消失和梯度爆炸 在使用pytorch中的序列化 容器之前,我们 ...

最新文章

  1. CNN如何用于NLP任务?一文简述文本分类任务的7个模型
  2. 编程方法学4:计算机科学发展简史
  3. 华为路由器 android,华为智能路由器app
  4. 一个人动情之后的表现......
  5. 中国酒精拭子市场趋势报告、技术动态创新及市场预测
  6. android开发switch自动关闭,更改Android Switch状态
  7. element 输入框点击事件_Element Input输入框的使用方法
  8. Chrome 快捷键
  9. (十)unity4.6学习Ugui中文文档-------參考-UGUI Canvas Components
  10. java 下载junit的jar包_junit jar包下载-Junit4 jar包下载 --pc6下载站
  11. 职场上个人的核心技术_五年老员工被空降领导要求交出核心技术,拒绝后,隔天上班懵了...
  12. 接口测试与Postman
  13. 打造认可文化,是OKR成功的关键
  14. Python strip() 函数 去空格 \n \r \t 函数的用法
  15. SQL Server 为视图或函数 指定的列名比其定义中的列多
  16. 控制电机的几种控制电路原理图
  17. sap获取系统时间_C++获取当前系统时间的方法总结
  18. 搜索引擎核心读书心得2:暗网抓取
  19. 【NB-Iot自我学习之路_3】NB平台介绍【电信篇】+【移动篇】
  20. dell raid卡PERC H330硬盘替换后序号混乱问题.md

热门文章

  1. matplotlib绘制饼状图
  2. ZooKeeper安装,部署
  3. Oracle 10g 数据库的备份和还原
  4. Oracle中用For Loop 替代Cursor
  5. ORDER BY NEWID()【原创】
  6. html 文本框数量加减,收藏!js实现input加减
  7. java调用外联服务用xml,Spring IOC 依赖注入的两种方式:XML和注解
  8. html5中折叠面板,Ant Design中折叠面板Collapse
  9. 指令引用了 内存 该内存不能为read 一直弹窗_【翻译】使用Rust测试ARM和X86内存模型
  10. 重复次数最多的 子串_每日算法系列【LeetCode 424】替换后的最长重复字符