單向鏈表在棧中的存儲
typedef struct StackNode {SElemType data;struct StackNode* next;
}StackNode, *LinkStack;
LinkStack S;
//鏈棧初始化
void InitStack(LinkStack& S)
{S = NULL;return OK;
}
//判斷鏈棧是否為空
Status StackEmpty(LinkStack S)
{if (S = NULL) return TRUE;else return FALSE;
}
//節點入棧
Status Push(LinkStack& S, SElemType e)
{p = new StackNode;p->data = e;p->next = S;S = p;return OK;
}
//節點的出棧
Status Push(LinkStack& S, SElemType &e)
{if (S==NULL){return ERROR;}LinkStack p = new StackNode;e = p->data;p = S;S = S->next;delete p;return OK;
}