c++中的queue容器
queue容器
队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端 提取元素。
队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的 成员函数来访问其元素。元素从队尾入队列,从队头出队列。
底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类。该底层容器应至少支持以下操 作
empty:检测队列是否为空 size:返回队列中有效元素的个数front:返回队头元素的引用 back:返回队尾元素的引用push_back:在队列尾部入队列 pop_front:在队列头部出队列
标准容器类deque和list满足了这些要求。默认情况下,如果没有为queue实例化指定容器类,则使用标 准容器deque。
queue没有迭代器
queue所有元素的进出都必须符合“先进先出”的条件,只有queue的顶端元素,才有机会被外界取用,queue不提供遍历功能,也不提供迭代器。
queue 对象的默认构造
- queue 采用模板类实现,
- queue 对象的默认构造形式:queuequeT; 如: queuequeInt; //一个存放 int 的 queue 容器。
- queuequeFloat; //一个存放 float 的 queue 容器。 queuequeString; //一个存放 string 的 queue 容器。
- … … //尖括号内还可以设置指针类型或自定义类型。
queue 的处理数据的方法
- queue.push(elem); //往队尾添加元素
- queue.pop(); //从队头移除第一个元素
queue 对象的拷贝构造与赋值
- queue(constqueue&que); //拷贝构造函数
- queue&operator=(constqueue&que);//重载等号操作符
queue 的数据读取操作
- queue.back(); //返回最后一个元素
- queue.front(); //返回第一个元素
queue 的大小
queue.empty(); //判断队列是否为空
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容器相关推荐
- 【小白学习C++ 教程】二十二、C++ 中的STL容器stack、queue和map
@Author:Runsen STL 中的栈容器是一种容器适配器.在栈容器中,元素在一端插入并在同一端删除. stack 为了实现堆栈容器,我们需要在我们的程序中包含头文件<stack>. ...
- C++STL的queue容器
C++STL的queue容器 queue 基本概念 queue 常用接口 queue 基本概念 概念:Queue是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口 ...
- jQuery动画高级用法(上)——详解animation中的.queue()函数
如果你拿着一个疑问去找专业人士寻找答案,那么你的一个疑问会变成三个,因为他会用另外两个令你更加一头雾水的名词来解释你的这个疑问. 我想这是大多数,包括我在内,IT人在学习过程中碰到的最大问题.当你有一 ...
- stack和queue容器
stack容器 stack是一种先进后出的数据结构,它只有一个出口 栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为 栈可以判断是否为空 empty() 栈可以返回元素个数 size() 入 ...
- 深入解析C++ STL中的常用容器
转载:http://blog.csdn.net/u013443618/article/details/49964299 这里我们不涉及容器的基本操作之类,只是要讨论一下各个容器其各自的特点.STL中的 ...
- jQuery动画高级用法(上)——详解animation中的.queue()动画队列插队函数
决定对animate方面做一些总结,希望能给大家一些启发和帮助 从一个实际应用谈起 今天不谈animate().fadeIn().fadeOut().slideUp().show().hide()诸如 ...
- 利用NVIDIA-NGC中的MATLAB容器加速语义分割
利用NVIDIA-NGC中的MATLAB容器加速语义分割 Speeding Up Semantic Segmentation Using MATLAB Container from NVIDIA NG ...
- 聊聊 SpringCloud 中的父子容器
点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 来源公号:吉姆餐厅ak 概述 在引入 SpringCloud 的项目中会多次创建 Spring 容 ...
- Pytorch中的序列化容器-度消失和梯度爆炸-nn.Sequential-nn.BatchNorm1d-nn.Dropout
Pytorch中的序列化容器-度消失和梯度爆炸-nn.Sequential-nn.BatchNorm1d-nn.Dropout 1. 梯度消失和梯度爆炸 在使用pytorch中的序列化 容器之前,我们 ...
最新文章
- CNN如何用于NLP任务?一文简述文本分类任务的7个模型
- 编程方法学4:计算机科学发展简史
- 华为路由器 android,华为智能路由器app
- 一个人动情之后的表现......
- 中国酒精拭子市场趋势报告、技术动态创新及市场预测
- android开发switch自动关闭,更改Android Switch状态
- element 输入框点击事件_Element Input输入框的使用方法
- Chrome 快捷键
- (十)unity4.6学习Ugui中文文档-------參考-UGUI Canvas Components
- java 下载junit的jar包_junit jar包下载-Junit4 jar包下载 --pc6下载站
- 职场上个人的核心技术_五年老员工被空降领导要求交出核心技术,拒绝后,隔天上班懵了...
- 接口测试与Postman
- 打造认可文化,是OKR成功的关键
- Python strip() 函数 去空格 \n \r \t 函数的用法
- SQL Server 为视图或函数 指定的列名比其定义中的列多
- 控制电机的几种控制电路原理图
- sap获取系统时间_C++获取当前系统时间的方法总结
- 搜索引擎核心读书心得2:暗网抓取
- 【NB-Iot自我学习之路_3】NB平台介绍【电信篇】+【移动篇】
- dell raid卡PERC H330硬盘替换后序号混乱问题.md
热门文章
- matplotlib绘制饼状图
- ZooKeeper安装,部署
- Oracle 10g 数据库的备份和还原
- Oracle中用For Loop 替代Cursor
- ORDER BY NEWID()【原创】
- html 文本框数量加减,收藏!js实现input加减
- java调用外联服务用xml,Spring IOC 依赖注入的两种方式:XML和注解
- html5中折叠面板,Ant Design中折叠面板Collapse
- 指令引用了 内存 该内存不能为read 一直弹窗_【翻译】使用Rust测试ARM和X86内存模型
- 重复次数最多的 子串_每日算法系列【LeetCode 424】替换后的最长重复字符