Advertisement

数据结构中使用链表实现栈的入栈出栈相关代码

阅读量:

基本概念

采用带有头结点的单链表结构来表示栈时,头结点所指向的位置即为栈顶元素所在处,因此元素的入栈操作等同于在链表头部插入节点,而出栈操作则从头结点的后继节点开始执行。

空栈的判定标准为s->next等于NULL。

关于栈满的情况:鉴于链表结构所使用的内存空间可以动态分配与回收,因此在内存资源充足的前提下,并不存在栈满的限制条件。

入栈操作:即将带有数据信息的节点插入至头节点的后续位置。

出栈操作:即从头节点之后的位置移除节点,并对其所占用的存储空间进行释放处理。

代码

stack.c

复制代码
 /*********************栈的链式存储结构******************************/

    
  
    
 void InitStack_Lk(LkStack& s)//初始化一个空栈
    
 {
    
 	s = (LkStack)malloc(sizeof(LStkNode));//创建一个头指针
    
 	s->next = NULL;//空指针,空栈。
    
 }
    
 void Des

全部评论 (0)

还没有任何评论哟~