数据结构-栈(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; }