美文网首页
栈的更简洁的操作

栈的更简洁的操作

作者: 始于尘埃 | 来源:发表于2019-07-26 14:23 被阅读0次
    //顺序栈的基本操作 - 简单的排队操作 
    #include <iostream>
    #include <string>
    using namespace std;
    
    typedef int Elemtype;
    #define Maxsize 100
    typedef struct{
        string Name;
        Elemtype Num;
    }People;
    typedef struct{
        People *top;
        People *base;  //设置基地(栈顶、栈尾) 
        int stackSize; //栈的最大容量 
    }Stack;  
    
    //初始化
    bool InitStack(Stack &S){
        S.base = new People[Maxsize];
        if(!S.base) exit(0); 
        S.top = S.base;
        S.stackSize = Maxsize;
    }
    
    
    
    //入栈 
    bool Push(Stack &S,string name,Elemtype num){
        if(S.top - S.base == S.stackSize) return 0; //栈满
        S.top->Name =  name;
        S.top->Num =  num;
        S.top++;
        cout<<"成功入栈"; 
        
    }
    
    
    //出栈 
    bool Pop(Stack &S){
        string name;
        Elemtype num;
        if(S.top == S.base) return 0;
        S.top--;
        name = S.top->Name;
        num = S.top->Num;
        cout<<num<<num<<endl;
        cout<<"成功出栈";
    }
    
    int main(){
        Stack s;
        InitStack(s);
        int i = 0,j = 0;
        string name;
        int num;
        for(i;i<3;i++){
            cout<<"请输入:\n"; 
            cin>>name>>num;
            Push(s,name,num);
        }
        for(j;j<3;j++){
            Pop(s);
        }
        return 0;
    }
    
    

    相关文章

      网友评论

          本文标题:栈的更简洁的操作

          本文链接:https://www.haomeiwen.com/subject/jlarrctx.html