栈的链式存储结构
考试要求: 掌握     
知识路径:  > 计算机科学基础  > 常用数据结构  > 队列、栈  > 


 
       栈的链式存储也叫链栈,我们把插入和删除均在链表表头进行的链表称为链栈。链栈也分有头节点和无头节点两种。带头节点的链栈操作比较方便。
       链栈的节点类型定义如下:
       
       链栈的约定与说明如下。
       .栈以链表的形式出现,链表(不带头节点)首指针为S,即栈顶为S,链表尾节点为栈底。
       .初始化时,S=NULL(不带头节点);S=(LStack *),malloc(sizeof(LStack)),S→next=NULL(带头节点)。
       .栈顶指针的引用为S(不带头节点)或S→next(带头节点),栈顶元素的引用为S→data(不带头节点)或S→next→data(带头节点)。
       .栈空条件为S==NULL(不带头节点)或S→next=NULL(带头节点)。
       .进栈操作和出栈操作与单链表在开始节点的插入和删除操作一致。
       对不带头节点的链栈,其基本操作函数如下。
       1)初始化initstack(LStack *S)
       
       2)压栈(入栈)push(LStack *S, ElemType x)
       
       3)退栈(出栈)pop(LStack *S, ElemType *x)
       
       4)读栈顶元素gettop(LStack *S, ElemType *x)
       
       5)判栈空isempty(LStack *S)
       
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有