栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。
栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。
在STL中,栈是以别的容器作为底部结构,再将接口改变,使之符合栈的特性就可以了。因此实现非常的方便。
下面就给出栈的函数列表和VS2008中栈的源代码,在STL中栈一共就5个常用操作函数(top()、push()、pop()、 size()、empty() ),很好记的。
栈相当于一个上端开口的桶,注意输出顺序和输入顺序相反
#include <iostream>
#include <stack>
#include <cstdio>
using namespace std;
stack<int>s;
int main(){
int n,m;
cin>>n;
for(int i=1;i<=n;i++){
cin>>m; s.push(m);
}
int num=s.size();
for(int i=0;i<num;i++){
int k=s.top();
cout<<k<<" ";
s.pop();
}
}