STL学习笔记12— —特殊容器queue
来源:互联网 发布:斗鱼协议号软件 编辑:程序博客网 时间:2024/06/06 20:47
简介
在头文件<queue> 中定义
namespace std { template <typename T, typename Container = deque<T>> class queue;}
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
queue就是数据结构里队列的实现,先进先出。定义中的第二个参数用来定义queue内部存放元素的实际容器,可以是任何序列式容器,默认容器为deque。
实际上queue也只是很单纯地把各项操作转化为内部容器的对应调用。
核心接口
push() //将一个元素置入queue内front() //返回queue内头部元素back() //返回queue内尾部元素pop() //从queue中移除元素
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 1
- 2
- 3
- 4
- 5
- 6
- 7
需要注意的是,pop()移除下一个元素,但并不将它返回,而front()和back()返回元素的值,但不删除它。
栗子
#include <iostream>#include <queue>#include <string>using namespace std;int main(){ queue<string> q; //向队列里插入三个值 q.push("These "); q.push("are "); q.push("more than "); //元素出队并显示 cout << q.front(); q.pop(); cout << q.front(); q.pop(); //插入两个新值 q.push("four "); q.push("words!"); //元素出队 q.pop(); //元素出队并显示 cout << q.front(); q.pop(); cout << q.front() << endl; q.pop(); //输出队列的元素个数 cout << "number of elements in the queue: " << q.size() << endl; return 0;}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
输出
These are four words!number of elements in the queue: 0
- 1
- 2
- 1
- 2
阅读全文
0 0
- STL学习笔记12— —特殊容器queue
- STL学习笔记— —特殊容器queue
- STL学习笔记— —特殊容器stack
- STL学习笔记— —特殊容器priority_queue
- STL学习笔记11— —特殊容器stack
- STL学习笔记13— —特殊容器priority_queue
- C++ STL--queue队列容器学习笔记
- 【STL】顺序容器 — queue
- STL学习笔记——1.queue
- STL学习笔记——容器
- STL学习笔记——map容器
- STL学习笔记— —容器array
- STL学习笔记— —容器vector
- STL学习笔记— —容器deque
- STL学习笔记— —容器list
- STL学习笔记— —容器forward_list
- Java学习笔记——容器之Queue
- STL学习(五)queue容器学习
- Tinker does not support instant run mode, please trigger build by assembleDebug or disable instant
- S32 Design Studio 初识
- string 作为函数实参
- Subsequence
- GitHub原理
- STL学习笔记12— —特殊容器queue
- [java]枚举学习
- python 环境
- python学习之文件差异对比
- ARM协处理器CP15寄存器详解
- 冒泡排序
- 欢迎使用CSDN-markdown编辑器
- RxJava 和 RxAndroid 一 (基础)
- 点击EditView时隐藏hide