容器适配器并没有直接维护被控序列,而是通过它里面存储的底层容器对象来实现所有的功能。
queue类允许在底层数据结构的末尾插入元素,也允许从前面插入元素(先入先出)。
包含头文件 #include<queue> 声明命名空间 using namespace std;
常见的queue操作:
1.void push(const T& val); //在队列末尾插入元素(通过调用底层容器的push_back函数实现)
2.void pop(); //在队列前面删除元素(通过调用底层容器的pop_back函数实现)
3.value_type& front(); //获取队列中第一个元素的引用(通过调用底层容器的front函数实现)
4.value_type& back(); //获取队列最后一个元素(通过调用底层容器的back函数实现)
5.bool empty() const; //判断队列是否为空(通过调用底层容器的empty函数实现)
6.size_type size() const; //获取队列元素数量(通过调用底层容器的size函数实现)
为了获得最佳性能,应使用deque类作为queue的底层容器
如: queue<int> values;
values.push(1);
values.push(2);
values.push(3);
while (!values.empty())
{
cout<<"pop value: "<<values.front()<<endl;
values.pop();
}
程序输出:
原文地址:https://www.cnblogs.com/jason-20160301/p/8977736.html