当前位置 博文首页 > KOOKNUT的博客:stack以及使用举例--C++基础
序列式容器:
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源码剖析》