typedef int SElemType;
typedef struct StackNode
{
SElemType data;
StackNode *next;
}StackNode,*LinkStack;
bool InitStack(LinkStack &S)
{//栈的初始化
S = NULL;//要注意栈没有头结点
return OK;
}
bool Push(LinkStack &S,SElemType e)
{//将元素e压入栈中
StackNode *p = new StackNode;
p.data = e;
p.next = S;
S = p;
return OK;
}
bool Pop(LinkStack &S,SElemType &e)
{//弹出栈顶元素并用e返回
if(S==NULL) return ERROR;
e = S->data;
StackNode *p = S;
S = S->next;
delete p;
return OK;
}
SElemType GetTop(LinkStack &S)
{//取栈顶元素
if(S!=NULL) return S->data;
}