【Luogu】B3616 【模板】队列

可以看出,题目要我们实现队列的四个基本操作。而这些操作 C++ STL 中的 queue 都提供了。

对照表:

题目 STL 意义
push(x) push(x) 队列中加入 x x x
pop() pop() 弹出队首
query() front() 返回队首值
size() size() 返回队列元素个数

那这就非常简单了。

AC Code:

#include
using namespace std;

queue<int>q;

int main()
{
	int n;
	cin>>n;
	while(n--)
	{
		int op,x;
		cin>>op;
		if(op==1)//push(x)
		{
			cin>>x;
			q.push(x);
		}
		else if(op==2)//pop()
		{
			if(q.empty()) cout<<"ERR_CANNOT_POP"<<endl;//特判
			else q.pop();
		}
		else if(op==3)//query()
		{
			if(q.empty()) cout<<"ERR_CANNOT_QUERY"<<endl;//特判
			else cout<<q.front()<<endl;
		}
		else cout<<q.size()<<endl;//size()
	}
 	return 0;
}

你可能感兴趣的:(Luogu,数据结构,c++)