#include <stdio.h>
#define maxsize 50
typedef struct
{
int data[maxsize];//存放栈中元素
int top;//栈顶指针
}SqStack;
//初始化
void InitStack(SqStack S){
S.top = -1;//指针始终指向栈顶元素的位置
}
//进栈
bool Push(SqStack &S,int x){
if(S.top==maxsize-1)//栈满
return false;
//top先++,再入栈
S.top++;
S.data[S.top] = x;//或S.data[++S.top] = x;
return true;
}
//出栈
bool Pop(SqStack &S,int &x){
if(S.top==-1)
return false;//栈空
//先出栈,再--
x = S.data[S.top];
S.top--;
return true;
}