-
个人简介
🚀️ # C++队列queue用法详解
一、定义
queue是一种容器转换器模板,调用#include< queue>即可使用队列类。
一、queue初始化
queue<Type, Container> (<数据类型,容器类型>) 初始化时必须要有数据类型,容器可省略,省略时则默认为deque 类型
初始化示例
1:
queue<int>q1; queue<double>q2; queue<char>q3; //默认为用deque容器实现的queue;
2:
queue<char, list<char>>q1; //用list容器实现的queue queue<int, deque<int>>q2; //用deque容器实现的queue
注意:不能用vector容器初始化queue
因为queue转换器要求容器支持front()、back()、push_back()及 pop_front(),说明queue的数据从容器后端入栈而从前端出栈。所以可以使用deque和list对queue初始化,而vector因其缺少pop_front(),不能用于queue。
二、queue常用函数
1.常用函数
- push() 在队尾插入一个元素
- pop() 删除队列第一个元素
- size() 返回队列中元素个数
- empty() 如果队列空则返回true
- front() 返回队列中的第一个元素
- back() 返回队列中最后一个元素
2.函数运用示例
1:push()在队尾插入一个元素
queue <string> q; q.push("first"); q.push("second"); cout<<q.front()<<endl;
输出 first
2:pop() 将队列中最靠前位置的元素删除,没有返回值
queue <string> q; q.push("first"); q.push("second"); q.pop(); cout<<q.front()<<endl;
输出 second 因为 first 已经被pop()函数删掉了
3:size() 返回队列中元素个数
queue <string> q; q.push("first"); q.push("second"); cout<<q.size()<<endl;
输出2,因为队列中有两个元素
4:empty() 如果队列空则返回true
queue <string> q; cout<<q.empty()<<endl; q.push("first"); q.push("second"); cout<<q.empty()<<endl;
分别输出1和0 最开始队列为空,返回值为1(ture); 插入两个元素后,队列不为空,返回值为0(false);
5:front() 返回队列中的第一个元素
queue <string> q; q.push("first"); q.push("second"); cout<<q.front()<<endl; q.pop(); cout<<q.front()<<endl;
第一行输出first; 第二行输出second,因为pop()已经将first删除了
6:back() 返回队列中最后一个元素
queue <string> q; q.push("first"); q.push("second"); cout<<q.back()<<endl;
输出最后一个元素second
-
通过的题目
-
最近活动
题目标签
- 初窥门径
- 3
- 顺序结构
- 2
- 排序
- 2
- 月赛语法
- 2
- 分支结构
- 1
- 其他
- 1
- 计数排序
- 1