只能访问 queue<T> 容器适配器的第一个和最后一个元素。只能在容器的末尾添加新元素,只能从头部移除元素。
许多程序都使用了 queue 容器。queue 容器可以用来表示超市的结账队列或服务器上等待执行的数据库事务队列。对于任何需要用 FIFO 准则处理的序列来说,使用 queue 容器适配器都是好的选择。
图 1 展示了一个 queue 容器及其一些基本操作:
图 1 queue容器
#include <queue> //队列头文件
定义queue 对象的示例代码如下:
queue <int> q; //定义队列
queue<double> q2;//定义队列
(1).构造函数
queue(class T, class Container = deque<T>) :创建一个元素类型为T的空队列,默认容器是deque
(2) 增加函数
把元素x压入队尾:q.push(const T& x);
(3) 删除函数
当队列非空的情况下,删除队头元素:q.pop();
(4) 判断函数
bool empty() :判断队列是否为空,若为空,返回true,否则返回false
(5) 大小函数
int size() :返回队列中元素的数量
(6) 其他函数
T& front() :当队列非空的情况下,返回队头元素
T& back() :当队列非空的情况下,返回队尾元素
代码
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue<int> q;
for (int i = 0; i < 5; ++i)
q.push(i);
cout << "q为空 " << q.empty() << endl;
cout << "q元素个数 " << q.size() << endl;
cout << "q队头元素 " << q.front() << endl;
cout << "q队尾元素 " << q.back() << endl;
cout << "元素依次弹出队列 ";
while (!q.empty())
{
cout << q.front() << "\t";
q.pop();
}
}
运行结果