struct Stack {
int data[MaxSize];
int top; (top指向栈顶元素的下标)
}SqStack;
初始化
void InitStack(Stack &S) {
S.top = -1;
}
返回栈顶元素
bool GetTop(Stack &S,int &x) {
if (top == -1) return false;
x = S.data[top];
return true;
}
添加栈顶元素
bool Push(Stack& S,int x) {
if (top == MaxSize-1) return false;
S.data[top++] = x;
return true;
}
弹出栈顶元素
bool Pop(Stack& S,int &x) {
if (top == -1) return false;
x = S.data[top--];
return true;
}
判断栈是否为空
bool Empty(Stack& S) {
if (top == -1) return true;
return false;
}