P213~214C++queue容器学习笔记.docx
C++ queue 容器学习笔记 queue 容器是 C++ 标准库中的一种容器,实现了先进先出(First In First Out,FIFO)的数据结构。下面是 queue 容器的基本概念和常用接口。 队列基本概念 队列是一种数据结构,它有两个出口:队头和队尾。队头是队列的入口,元素从这里进入队列;队尾是队列的出口,元素从这里离开队列。队列容器允许从一端新增元素,从另一端移除元素。队列中只有队头和队尾才能被外界使用,因此队列不允许有遍历行为。 队列容器常用接口 队列容器的常用接口包括: 1. 构造函数:`queue<T> que;`,创建一个空队列对象。 2. 拷贝构造函数:`queue(const queue &que);`,拷贝一个队列对象。 3. 赋值操作:`queue& operator=(const queue &que);`,重载等号操作符。 4. 数据存取: * `push(elem) ;`,往队尾添加元素。 * `pop() ;`,从队头移除第一个元素。 * `back() ;`,返回最后一个元素。 * `front() ;`,返回第一个元素。 5. 大小操作: * `empty() ;`,判断队列是否为空。 * `size() ;`,返回队列的大小。 队列容器的使用 下面是一个使用队列容器的示例代码: ```cpp void test01() { // 创建队列 queue<Person> q; // 准备数据 Person p1("唐僧", 30); Person p2("孙悟空", 1000); Person p3("猪八戒", 900); Person p4("沙僧", 800); // 入队 q.push(p1); q.push(p2); q.push(p3); q.push(p4); cout << "队列的大小为:" << q.size() << endl; // 判断只要队列不为空,查看队头,查看队尾,出队 while (!q.empty()) { cout << "队头元素---姓名: " << q.front().m_Name << "年龄; " << q.front().m_Age << endl; cout << "队尾元素---姓名: " << q.back().m_Name << "年龄; " << q.back().m_Age << endl; q.pop(); } cout << "队列的大小为:" << q.size() << endl; } ``` 在这个示例中,我们创建了一个队列对象 `q`,然后将四个 `Person` 对象 push 到队列中。接着,我们使用 `front()` 和 `back()` 函数查看队头和队尾元素,并使用 `pop()` 函数将元素从队列中移除。 队列容器是一个非常有用的数据结构,它可以用来实现先进先出的数据处理逻辑。在 C++ 中,队列容器是通过 `queue` 类模板实现的,可以灵活地使用在各种应用场景中。
- 粉丝: 176
- 资源: 26
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- python mne库学习-利用机器学习算法判断睡眠类型
- 进制转换计算机基础知识点
- TongWeb V7.0 集群管理指南
- 机械毕设,用mfc基于opencv库开发的能够识别活塞环外观掉角、划痕的缺陷.(含源码、文档)\活塞环外观表面缺陷检测
- TongWeb-V8.0产品介绍手册
- 韩国女主播视频网站+pc版+手机版本+可封装APP运营 帝国CMS7.5内核
- 采用opencv , c++ mfc来实现摄像头手动对焦, 每检测一个记录-2025
- TongWeb-V8.0安装与使用指引
- JAVA 程序设计试卷
- STM32HAL库的USB虚拟串口(VPC、CDC)配置及数据传输,USB复位及自动重连的解决方案
- 前端开发:JavaScript性能优化全解析-代码、内存、异步与网络优化技巧
- C++、MFC对话框程序编写的一个九宫格拼图程序-2025
- Java期末复习题编程题(47道)和选择题(30道) 包括异常处理和接口以及普通编程题
- 一个用 JavaScript 编写的音乐播放器,通过 HTML5 的 audio 标签实现基本播放功能,JavaScript 代码控制播放、暂停、下一首和上一首操作
- TongWeb-V8.0控制台使用手册
- JAVA题库习题及答案--.doc