C/C++ 栈的基本操作


#define maxsize 50
#include
using namespace std;
typedef struct{
    char data[maxsize];
    int top;
}stack;

void initstack(stack &s){
    s.top=-1;
}

bool stackempty(stack s){
    if(s.top==-1){
        return true;
    }else{
        return false;
    }
}

bool push(stack &s,char x){
    if(s.top==maxsize-1){
        return false;
    }else{
        s.data[++s.top]=x;
        return true;
    }
}

bool pop(stack &s,char &x){
    if(s.top==-1){
        return false;
    }else{
        x=s.data[s.top--];
        return true;
    }
}

bool gettop(stack s,char &x){
    if(s.top==-1){
        return false;
    }else{
        x=s.data[s.top];
        cout<>x;
      push(s,x);
    } 
    pop(s,x);
    char m;
    gettop(s,m);
    return 0;
}

 

你可能感兴趣的:(C/C++ 栈的基本操作)