1.初始化栈:
void InitStack(SqStack &s){
s.top = -1; //栈顶指针;
}
2.判断栈是否为空:
bool StackEmpty(SqStack s){
if(s.top == -1){//栈为空
return true;
}else{
return false;
}
}
3.进栈操作:
bool Push(SqStack &s,ElemType x){
if(s.top == MaxSize -1) return false; //判断是否已经栈满;
s.top++; //指针先加1,再赋值;
s.data[s.top] = x;
return true;
}
4.出栈操作:
bool Pop(SqStack &s,ElemType &x){
if(s.top == -1) return false; //判断是否已经栈空;
x = s.data[s.top]; //先取值,再将指针减1;
s.top--;
return true;
}
5.读取栈顶元素:
bool GetTop(SqStack s,ElemType &x){
if(s.top == -1) return false; //判断是否已经栈空;
x = s.data[s.top]; //取值;
return true;
}