对于链栈的进栈push操作,假设元素值为e的新结点是s,top为栈顶指针,示意图如图4-6-2所示代码如下。
/* 插入元素e为新的栈顶元素 */
Status Push(LinkStack *S, SElemType e){
LinkStackPtr s = (LinkStackPtr)malloc(sizeof(StackNode));
s->data = e;
/* 把当前的栈顶元素赋值给新结点的直接后继,如图中① */
s->next = S->top;
/* 将新的结点s赋值给栈顶指针,如图中② */
S->top = s;
S->count++;
return OK;
}