/* 棧 */
typedef struct{
ElemType data[MaxSize];
int top;
} SqStack;
//初始化棧
void InitStack(SqStack *&s){
s=(SqStack *)malloc(sizeof(SqStack));
s->top=-1;
}
//銷燬棧
void DestroyStack(SqStack *&s){
free(s);
}
//判斷棧是否爲空
bool isStackEmpty(SqStack *s){
return(s->top==-1);
}
//進棧
bool Push(SqStack *&s,ElemType e){
if(s->top==MaxSize-1){
return false;
}
s->top++;
s->data[s->top]=e;
return true;
}
//出棧
bool Pop(SqStack *&s,ElemType &e){
if(s->top==-1){
return false;
}
e=s->data[s->top];
s->top--;
return true;
}
//取棧頂元素
bool GetTop(SqStack *s,ElemType &e){
if(s->top==-1){
return false;
}
e=s->data[s->top];
return true;
}