queue就是队列,在STL中主要实现了一个先进先出的容器,使用queue应该先添加头文件#include<queue>
定义

queue<typename>name;

queue本身是一种先进先出的限制性结构,因此在STL中只能通过front()来访问队首元素,或者是通过back()来访问队尾元素
例:

#include<cstdio>
#include<queue>
using namespace std;
int main()
{
	queue<int> q;
	for(int i=1;i<=5;i++)
	{
		q.push(i);//push(i)用来将i压入队列
	}
	printf("%d %d\n",q.front(),q.back());
	return 0;
}
//输出结果是1 5

queue常用函数

  • push(),将x入队,时间复杂度为O(1)
  • front(),back(),分别可以获得队首元素和队尾元素,时间复杂度为O(1)
  • pop(),pop()令队首元素出队,时间复杂度为O(1)
  • empty(),empty()检查queue是否为空,返回true则空,返回false则非空,时间复杂度为O(1)
  • size(),size()返回queue内元素的个数,时间复杂度为O(1)

当需要实现广度优先搜索时可以不用自己动手实现一个队列而是用queue作为代替以实现程序的准确性,另外使用front()和pop()函数前必须先用empty()判断队列是否为空,否则可能因为队空而发生错误

Logo

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

更多推荐