#include<iostream> using namespace std; const int N=100; typedef int Elemtype; struct SqStack { Elemtype *base; int top; void Init(); void clear(); bool Empty(); void Push(Elemtype e); void Pop(); Elemtype Gettop(); }; void SqStack::Init() { base=new Elemtype[N]; top=-1; } void SqStack::clear() { top==-1; } bool SqStack::Empty() { return top==-1; } void SqStack::Push(Elemtype e) { if(top==N-1) return; top++; base[top]=e; } void SqStack::Pop() { if(top==-1) return; top--; } Elemtype SqStack::Gettop() { return base[top]; } int main() { int n; cin>>n; SqStack st; st.Init(); for(int i=0;i<n;i++) { int t; cin>>t; st.Push(t); } while(st.Empty()==false) { int t=st.Gettop(); cout<<t<<endl; st.Pop(); } st.clear(); return 0; }
#include<iostream> #include<stack> using namespace std; const int N=10; void run() { stack <int>s; int n; for(int i=0;i<N;i++) { s.push(i+1); } cout<<s.size(); while(s.empty()==false) { int t=s.top(); cout<<t<<" "; s.pop(); } } int main() { run(); return 0; }