序列式容器:
stack是一种先进后出的数据结构(First In Last Out),它只有一个出口,我们编程中的栈区数据就是这样的存放形式,stack允许新增元素、移除元素、取得最顶端元素。但是除了最顶端外,没有任何办法可以存取stack的其他元素。换言之,stack不允许遍历行为。
stack所有元素的进出必须符合先进后出的条件,只有stack的顶端元素,才有机会被外界调用,stack不提供走访功能,所以不提供迭代器。
可以使用list一端封口,或者deque来一端封口,实现stack。
#include"Test.h" #include<vector> #include<list> #include<array> #include<stack> #include<deque> #include<algorithm>//为了使用find、sort等方法 void main() { setlocale(LC_ALL, "chs");//识别中文 //用list实现增改删除 stack<int, deque<int>> v1;//一个是stack的类型,一个是用来形成stack的容器 //初始化 v1.push(1); v1.push(3); v1.push(2); v1.push(4); v1.top();//栈顶元素 v1.size();//栈大小 v1.pop();//弹出栈顶元素 v1.size();//栈大小 getchar(); }
“Do not fear failure.Be afraid of not having the chance.”
参考资料:
《STL源码剖析》