C++//queue 队列 容器 先进先出 只有队头 队尾能被外界访问 因此不允许有遍历行为
1 //queue 队列 容器 先进先出 只有队头 队尾能被外界访问 因此不允许有遍历行为
2
3
4 #include<iostream>
5 #include<queue>
6 #include<string>
7
8 using namespace std;
9
10 class Person
11 {
12 public:
13 Person(string name, int age)
14 {
15 this->m_Name = name;
16 this->m_Age = age;
17 }
18
19 string m_Name;
20 int m_Age;
21 };
22
23 void test01()
24 {
25
26 //创建队列
27 queue<Person>q;
28
29
30 //准备数据
31 Person p1("张三",30);
32 Person p2("李四",20);
33 Person p3("王五",60);
34 Person p4("张流", 50);
35
36
37 //入队
38 q.push(p1);
39 q.push(p2);
40 q.push(p3);
41 q.push(p4);
42 cout << "队列大小:" << q.size() << endl;;
43
44 //判断只要队列不为空,查看对头,查看队尾,出队
45 while (!q.empty())
46 {
47 //查看对头
48 cout << "队头元素-----姓名: " << q.front().m_Name << " 年龄:" << q.front().m_Age << endl;
49
50 //查看队尾
51 cout << "队尾元素---姓名:" << q.back().m_Name << " 年龄:" << q.back().m_Age<< endl;
52
53
54 //出队
55 q.pop();
56 }
57 cout << "队列大小:" << q.size();
58 }
59
60
61
62 int main()
63 {
64 test01();
65 }
C++//queue 队列 容器 先进先出 只有队头 队尾能被外界访问 因此不允许有遍历行为的更多相关文章
- stack堆栈容器、queue队列容器和priority_queue优先队列容器(常用的方法对比与总结)
stack堆栈是一个后进先出的线性表,插入和删除元素都在表的一端进行. stack堆栈的使用方法: 采用push()方法将元素入栈: 采用pop()方法将元素出栈: 采用top()方法访问栈顶元素: ...
- 第19章 queue队列容器
/* 第19章 queue队列容器 19.1 queue技术原理 19.2 queue应用基础 19.3 本章小结 */ // 第19章 queue队列容器 // 19.1 queue技术原理 // ...
- [C++STL教程]2.queue队列容器,小白都能看懂的讲解!
在学习数据结构的时候我们会听到这样一个词:队列. 本文将介绍STL中的队列:queue 本文仅从入门和实用角度介绍queue的用法,主要针对初学者或竞赛向.如有不严谨的地方欢迎指正!本文长度约2000 ...
- C++ 知识回顾总结 -- queue 队列容器
一.说明 queue 是一种队列适配器,专门设计用于FIFO中操作(先进先出),元素从一端插入容器并从另一端提取. 相关API地址为:http://www.cplusplus.com/referenc ...
- 数据结构14:队列(Queue),“先进先出”的数据结构
队列是线性表的一种,在操作数据元素时,和栈一样,有自己的规则:使用队列存取数据元素时,数据元素只能从表的一端进入队列,另一端出队列,如图1. 图1 队列示意图 称进入队列的一端为“队尾”:出队列的一端 ...
- stack栈和Queue队列
1.push将对象插入 System.Collections.Generic.Stack<T> 的顶部. Stack st = new Stack(); //栈是先进后出 st.Push( ...
- C#基础---Queue(队列)的应用
Queue队列,特性先进先出. 在一些项目中我们会遇到对一些数据的Check,如果数据不符合条件将会把不通过的信息返回到界面.但是对于有的数据可能会Check很多条件,如果一个数据一旦很多条件不 ...
- Stack集合 Queue队列集合 Hashtable哈希表
Stack集合 干草堆集合 栈集合 栈;stack,先进后出,一个一个赋值,一个一个取值,安装顺序来. 属性和方法 实例化 初始化 Stack st = new Stack(); 添加元素 个数 Co ...
- C语言实现循环队列的初始化&进队&出队&读取队头元素&判空-2
/*顺序表实现队列的一系列操作(设置flag标志不损失数组空间)*/ #include<stdio.h> #include<stdlib.h> #define Queue_Si ...
- (转)有关Queue队列
Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...
随机推荐
- _0x4c9738 怎么还原?嘿,还真可以还原!
_0x4c9738 变量名还原,噂嘟假嘟? 代码混淆(obfuscation)和代码反混淆(deobfuscation)在爬虫.逆向当中可以说是非常常见的情况了,初学者经常问一个问题,类似 _0x4c ...
- 提升vscode的搜索速度
在全局搜索速度上vscode比pycharm要慢不少,尤其是对于我们这种近二十年历史的项目代码来说特别明显,所以这里记录一下我是如何加快vscode的搜索速度的. 官方的搜索建议 https://co ...
- Linux线程间交互
前言 上一篇说过,系统会为线程mmap一块内存,每个线程有自己的私有栈,使用局部变量没啥问题.但是实际场景中不可避免的需要线程之间共享数据,这就需要确保每个线程看到的数据是一样的,如果大家都只需要读这 ...
- Windows批处理文件初始化数据库
前提是MySQL服务必须启动,Windows添加了MySQL的环境变量. 批处理文件: @ECHO OFF SET dbhost=127.0.0.1 SET dbuser=root SET dbpas ...
- SSD数据不能恢复?或许还有的救
我们经常说机械硬盘相对于固态硬盘的一个优势是数据可以恢复,难道SSD固态硬盘的数据就不能恢复了吗? 这里先简单介绍一下SSD的工作方式,SSD中的数据是以电子的形式通过浮栅保存的,写入就是通过增加电压 ...
- css 实现移动端横向滚动条隐藏但还可以滚动的效果与实现多行文本溢出显示省略号
一.实现移动端横向滚动条隐藏但还可以滚动的效果 1.首先添加一段html代码: <div class="scroll"> <div class="ite ...
- 深入浅出Java多线程(五):线程间通信
引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第五篇内容:线程间通信.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在现代编程实践中,多线程技术是提高程序 ...
- 【奶奶看了都会】云服务器部署开源ChatGLM-6B,让你也能拥有自己的ChatGPT
1.背景 大家好啊,我是小卷. 最近ChatGPT不仅发布了GPT-4,而且解除封印可以联网了.不得不赞叹AI更新迭代的速度真快,都跟不上节奏了.但是大家也注意到了吧,随着ChatGPT的每次更新,O ...
- SpringBoot不再需要@Autowired来注入属性
实操部分 需要lombok依赖 在对应需要注入属性的类上添加注解 @RequiredArgsConstructor 所有需要注入的属性改为final修饰 为什么 lombok的@RequiredArg ...
- XD刷机中执行reclaimdisks.sh的作用
之前刷机提到在使用OEDA进行一键部署前,需先在所有DB节点上运行reclaimdisks.sh,也提到观察会释放pvs/vgs/lvs相对应的剩余空间. 本文以一套X8环境为例,来看下具体的表现,以 ...