STL中的队列

Posted serendipity-my

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL中的队列相关的知识,希望对你有一定的参考价值。

STL中的队列

queue.front()
queue.back()
queue.empty()
queue.size()
queue.push()
queue.pop()

技术图片

//简单题
#include<iostream>
#include<queue>
using namespace std;
bool inqueue[100003]={0};   //用bool数组判断是不是已经在queue中了
queue<int> memory;

int main()
{
	int m,n;
	cin>>m>>n;
	
	int cnt=0; //要查的次数 
	
	for(int i=0;i<n;i++)
	{
		int num;
		cin>>num;
		
		if(!inqueue[num]) //先判断
		{
			cnt++;
			memory.push(num);
			inqueue[num]=true;
		}
		
		while(memory.size()>m)
		{
			inqueue[memory.front()]=false;
			memory.pop();
		}
	} 
	
	cout<<cnt<<endl;
	return 0;
}

以上是关于STL中的队列的主要内容,如果未能解决你的问题,请参考以下文章

hdu1276士兵队列训练问题[简单STL list]

STL中的队列

STL 中的双端队列到底是啥?

STL中的双端队列

stl栈和队列的内部实现

手撕STL——队列的内部实现