C++队列是queue模板类的定义在头文件中,queue模板类需要两个模板参数,一个是元素类型,一个是容器类型,元素类型是必要的,容器类型是可选的,默认为deque类型
C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构

使用queue需添加头文件#include
以及using namespace std;
在这里插入图片描述
应用到以上所有函数的代码如下:

#include<iostream>
#include<queue>
using namespace std;

int main()
{
	queue<int>a;
	int n,m;
	cin >> n;
	for (int i = 0; i < n;++i)//往队列a里添加n个元素
	{
		int tmp;
		cin >> tmp;//输入数值
		a.push(tmp);//从队列末尾压入数值
	}
	cout << a.front() <<" "<< a.back() << endl;//输出队列a头元素和尾元素
	cout << "队列a的元素个数为" << a.size()<<endl;//输出队列a元素个数(大小)

	for (int i = 1; i <=n; ++i)//输出队列a的所有头元素并删除头元素
	{
		
		cout << a.front() << " ";//输出头元素
		a.pop();//删除头元素
	}
	cout << endl ;//输出完后换行
	if (a.empty())//如果队空
	{
		cout << "队列a为空了"<<endl;
	}
	
	//如果要复制代码尝试输出队列B,请一定要注释掉  输出队列a元素for循环语句中的a.pop(),因为如果未注释掉的话,队列b将为空
	//以下为复制语句的应用
	/*queue<int>b;//创建一个队列b
	a.swap(b);//将队列a的所有复制至队列b
	for (int i = 1; i <=n; i++)
	{
		cout << b.front() << " ";//输出头元素
		b.pop();//删除头元素
	}
		if (b.empty())//如果队空
	{
		cout << endl<<"队列b为空了"<<endl;
	}*/
	

}

输入输出样例:
在这里插入图片描述

本人萌新小白一枚,以上代码仅供参考,有错地方还请指出,如果有帮到的地方还请各位不要吝啬一个👍嗷!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐