我是靠谱客的博主 欢呼鲜花,这篇文章主要介绍C++队列queue用法详解一、定义二、queue初始化二、queue常用函数,现在分享给大家,希望可以做个参考。

一、定义

queue是一种容器转换器模板,调用#include< queue>即可使用队列类。

二、queue初始化

queue<Type, Container> (<数据类型,容器类型>)

初始化时必须要有数据类型,容器可省略,省略时则默认为deque 类型

初始化示例

复制代码
1
2
3
4
5
queue<int>q1; queue<double>q2; queue<char>q3; //默认为用deque容器实现的queue;
复制代码
1
2
3
4
5
6
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(double-ended queue,双端队列)和list对queue初始化,而vector因其缺少pop_front(),不能用于queue。

二、queue常用函数

1.常用函数

  1. push() 在队尾插入一个元素
  2. pop() 删除队列第一个元素
  3. size() 返回队列中元素个数
  4. empty() 如果队列空则返回true
  5. front() 返回队列中的第一个元素
  6. back() 返回队列中最后一个元素

2.函数运用示例

1:push()在队尾插入一个元素

复制代码
1
2
3
4
5
queue <string> q; q.push("first"); q.push("second"); cout<<q.front()<<endl;

输出 first

2:pop() 将队列中最靠前位置的元素删除,没有返回值

复制代码
1
2
3
4
5
6
queue <string> q; q.push("first"); q.push("second"); q.pop(); cout<<q.front()<<endl;

输出 second 因为 first 已经被pop()函数删掉了

3:size() 返回队列中元素个数

复制代码
1
2
3
4
5
queue <string> q; q.push("first"); q.push("second"); cout<<q.size()<<endl;

输出2,因为队列中有两个元素

4:empty() 如果队列空则返回true

复制代码
1
2
3
4
5
6
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() 返回队列中的第一个元素

复制代码
1
2
3
4
5
6
7
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() 返回队列中最后一个元素

复制代码
1
2
3
4
5
queue <string> q; q.push("first"); q.push("second"); cout<<q.back()<<endl;

输出最后一个元素second

转自:C++队列queue用法详解_KEPROM的博客-CSDN博客_c++ queue

最后

以上就是欢呼鲜花最近收集整理的关于C++队列queue用法详解一、定义二、queue初始化二、queue常用函数的全部内容,更多相关C++队列queue用法详解一、定义二、queue初始化二、queue常用函数内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部