顺序栈代码实现

#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;    
 } 
 
 
 

猜你喜欢

转载自www.cnblogs.com/ilovetheworld/p/10588547.html