queue容器 队列容器 先进先出

队列只能在一端插入 一端删除

队列不能遍历 不提供迭代器 不支持随机访问

#if 1
#include<iostream>
#include<queue>
using namespace std;
void test01() {queue<int> q; //创建队列queue<int> q2(q);q.push(10);q.push(20);q.push(30);q.push(40);cout << "队尾:"<<q.back() << endl;cout << "队头:"<<q.front() << endl;while (!q.empty()) {cout << q.front() << endl;q.pop(); //删除队头}
}
//作业1 queue容器存放对象指针
//作业2 queue容器存放stack容器
int main()
{test01();return 0;
}
#endif

作业:

#if 1
#include<iostream>
#include<queue>
#include<stack>
using namespace std;
class Person {
public:Person(int Age, int Id) :age(Age), id(Id) {}
public:int age;int id;
};
//作业1 queue容器存放对象指针
void test01() {queue<Person*> q;Person p1 = { 23,1 };Person p2 = { 24,2 };Person p3 = { 25,3 };q.push(&p1);q.push(&p2);q.push(&p3);while (q.size() > 0) {Person *p = q.front();cout << (*p).age << " " << (*p).id << endl;q.pop();}}
//作业2 queue容器存放stack容器
void test02() {stack<Person> sp1;Person p1 = { 23,1 };Person p2 = { 24,2 };Person p3 = { 25,3 };sp1.push(p1);sp1.push(p2);sp1.push(p3);stack<Person> sp2 = sp1;queue<stack<Person>> q;q.push(sp1);q.push(sp2);cout << "queue中stack数为:" << q.size() << endl;while (!q.empty()) {stack<Person> s=q.front();cout << "stack数据内容为:" << endl;while (!s.empty()) {Person p = s.top();s.pop();cout << p.age << " " << p.id << endl;}q.pop();}
}int main()
{cout << "test01:queue容器存放对象指针" << endl;test01();cout << "test02:queue容器存放stack容器" << endl;test02();return 0;
}
#endif

STL12-queue容器相关推荐

  1. C++STL的queue容器

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

  2. c++中的queue容器

    queue容器 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端 提取元素. 队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,qu ...

  3. STL学习系列五:Queue容器

    Queue简介 queue是队列容器,是一种"先进先出"的容器. queue是简单地装饰deque容器而成为另外的一种容器. #include <queue> 1.qu ...

  4. stack和queue容器

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

  5. C++之Queue容器初学

    Queue简介 ² queue是队列容器,是一种"先进先出"的容器. ² queue是简单地装饰deque容器而成为另外的一种容器. ² #include <queue> ...

  6. queue容器常用接口

    queue容器常用接口 元素先进先出 #include<iostream> using namespace std; #include<queue> #include<s ...

  7. C++编程入门之十二(queue容器)

    queue队列容器 1.1queue基本概念 1.2queue常用接口 #include"pch.h" #include<iostream> #include<s ...

  8. [C++STL]C++实现queue容器适配器

    代码如下: #include <iostream> #include <deque>using namespace std;template<typename T,typ ...

  9. 32-【什么叫规矩 什么叫体统】queue容器

    /*queue 队列<----------------------- <--出队 <--入队------------------队头 队尾特性:1.先进先出2.只有队头队尾能被访问, ...

  10. [C++STL]queue容器用法介绍

最新文章

  1. 给你一天时间,如何理清AI圈儿现状?
  2. 看本地网速_安装 ANSYS 本地帮助
  3. 全球及中国橡胶行业盈利状况及十四五竞争前景展望报告2021版
  4. html网页缩小之后div框移动,css – DIV在浏览器中放大和缩小时移动
  5. 深度学习 训练吃显卡_在深度学习中喂饱GPU
  6. Android Intent基本使用
  7. ppt修复无法读取_移动硬盘故障分析以及建议修复方法
  8. velocity自定义函数_velocity基本语法和总结
  9. Apache 和 Tomcat 服务器的区别
  10. 什么浏览器好用_手机浏览器不只UC,好用的浏览器还有这些
  11. Zookeeper可视化工具PrettyZoo
  12. Cyclone IV FPGA 器件笔记
  13. 双十一的秒杀场景是如何设计的?
  14. SQL2K数据库开发七之表操作添加删除和修改列
  15. java 弹出另存为_java如何实现 io流传输过来的文件,提示另存为弹出窗口?
  16. 简单的避免idea自动导入 *
  17. 软件测试必学的16个高频数据库操作及命令
  18. vue项目中通过cdn引入资源并配置
  19. 字节日常实习生面试 无了~
  20. 招聘面试的STAR原则

热门文章

  1. linux电脑合盖后卡住了,解决ubuntu合盖后无法唤醒
  2. mysql partition 性能_通过分区(Partition)提升MySQL性能
  3. npoi word在试图打开文件时遇到错误_【技巧】word在试图打开文件时遇到错误
  4. BOM -- browser object model
  5. mysql 删除not null_从MySQL的列中删除NOT NULL限制?
  6. java in action,java 7 in action
  7. linux 内存规划,生产场景怎么对linux系统进行合理规划分区?
  8. java告警系统设计_告警系统的设计
  9. mysql 客户服务号_mysql客户端及服务端常用实用工具功能总结
  10. 单片机实验:节日彩灯控制器