数据结构-栈(4)
栈的链式存储结构及实现
栈的链式存储结构
栈的链式存储结构,简称链栈。
一般是把栈顶放在单链表的头部。对于栈链来说是不需要单链表的头结点的。
对于链栈来说,不存在栈满的情况,只要内存还有可用空间。
如果有内存不足的情况,此时的计算机操作系统已经面临崩溃情况,而不是链栈溢出的问题。
对于空栈来说,链表原先定义是头指针指向空,链栈的空其实是top=NULL。
栈的链式存储结果-进栈操作
//插入元素e为新的栈顶元素
Status Push(LinkStack *S, SElemType e){
LinkStackPtr s = (LinkStackPtr)malloc(sizeof(StackNode));
s->data=e;
//把当前的栈顶元素赋值给新节点的直接后继
s->next=S->top;
//将新的节点s赋值给栈顶指针top
S->top =s;
S->count++;
return OK;
}


