对于链栈的进栈push操作,假设元素值为e的新结点是s,top为栈顶指针,示意图如图4-6-2所示代码如下。
    image.png

    1. /* 插入元素e为新的栈顶元素 */
    2. Status Push(LinkStack *S, SElemType e){
    3. LinkStackPtr s = (LinkStackPtr)malloc(sizeof(StackNode));
    4. s->data = e;
    5. /* 把当前的栈顶元素赋值给新结点的直接后继,如图中① */
    6. s->next = S->top;
    7. /* 将新的结点s赋值给栈顶指针,如图中② */
    8. S->top = s;
    9. S->count++;
    10. return OK;
    11. }