赞
踩
为了方便学习理解,先上两张图:
1、基础认识
stack/queue都是封装了deque<T>容器的适配器类模板,两者都没有迭代器,访问元素的唯一方式就是遍历内容器内容,同时移除访问过的每一个元素,应该说是想l遍历是必须移除,或者考虑拷贝到另一个容器中。
stack默认实现的是一个后入先出的压入栈(图一);#include <stack>
queue默认实现的是一个先入先出的队列(图二);#include<queue>
2、实操应用
// stack
和其他序列容器相比,stack 是一类存储机制简单、所提供操作较少的容器。下面是 stack 容器可以提供的一套完整操作:
// queue
queue 和 stack 有一些成员函数相似,但在一些情况下,工作方式有些不同:
3、代码示例
1、std::queue<std::string>Words;
2、std::stack<std::string,std::list<std::string>>fruit;
3、std::list<double> values {1.414, 3.14159265, 2.71828}; std::stack<double,std::list<double>> my_stack (values);
4、std::stack<double,std::list<double>>copy_stack {my_stack}
5、int i;
queue<int>q;
for(i=0;i<5;i++)q.push(i);
while(q.size()){
cout<<q.front();
q.pop()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。