- 0
- 0
- 约1.35万字
- 约 76页
- 2019-05-06 发布于广东
- 举报
第三章栈和队列 栈 队列 递归 栈 ( Stack ) 定义:是限定仅在表尾进行插入或删除操作的线性表。 允许插入和删除的一端 称为栈顶(top),另一端 称为栈底(bottom) 特点:后进先出 (LIFO) 栈的主要操作 Push (S, x); //进栈 Pop (S); //出栈 Top (S); //取栈顶 Setnull (S); //置空栈 Empty (S); //判栈空否 StackFull (S); //判栈满否 } 栈的表示和实现 顺序栈:栈的顺序存储结构,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,指针top指向栈顶元素在顺序栈中的下一个位置, base为栈底指针,指向栈底的位置。 顺序栈的类型表示: #define maxsize 64 typedef char datatype; typedef struct { //顺序栈定义 { datatype data[maxsize] ; int top; //栈顶指针 } seqstack; seqstack *s ; 判栈空 int Empty (seqstack *S) { if( S-top =0 ) return 1 //判栈空,空则返回1 else return 0; //否则返回0 } 判栈满 int StackFull (seqstack *S) { if( S-top==maxsize -1 ) return 1 ; //判栈满,满则返回1 else return 0; //否则返回0 } 入栈 Seqstack *Push (seqstack *S, datatype x) //插入元素x为新的栈顶元素 { if (S-top= =maxsize - 1) { printf (“overflow”) ; return null ; } else { S-top + + ; S-data[S-top ] = x ; } return s ; } 取栈顶元素 Datatype Top (seqstack *S ) //若栈空返回0, 否则栈顶元素读到x并返回 { if ( Empty(S) ) { printf (“stack is empty”) ; return null; } else return (S-data[S-top ] ); } 出栈 datatype pop (seqstack *S ) //若栈空返回0, 否则栈顶元素退出到x并返回1 { if ( Empty(S) ) { printf (“ underflow ”) ; return null; } else { S-top --; return (S-data[S-top +1] ) ;} } 链式栈:栈的链接表示 链式栈无栈满问题,空间可扩充 插入与删除仅在栈顶处执行 链式栈的栈顶在链头 适合于多栈操作 链式栈 (LinkStack)的定义 typedef int datatype; typedef struct node { datatype data; //结点 struct node *next; //链指针 } linkstack; linkstack *top; 链式栈操作实现 入栈 Linkstack * Push ( linkstack *top, datatype x ) { linkstack *p ; *p = malloc( sizeof ( linkstack) ); p-data = x; p-next = top; return p; } 出栈 Linklist *Pop ( LinkStack *S, datatype x ) { linkstack *p ; if ( top = = null )
您可能关注的文档
- 安阳工学院机械工程学院机械制造工艺学课件 第六章 机床夹具设计.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第三章 机械加工表面质量及其控制.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第五章 机器装配工艺过程设计.ppt
- 安阳工学院机械工程学院机械制造工艺学课件 第一章 绪论.ppt
- 安阳工学院机械工程学院汽车服务工程课件第二章 汽车服务系统理论.ppt
- 安阳工学院机械工程学院汽车服务工程课件第九章 汽车物流.ppt
- 安阳工学院机械工程学院汽车服务工程课件第四章 汽车营销与市场分析.ppt
- 安阳工学院机械工程学院汽车服务工程课件第五章 汽车维修与美容装饰.ppt
- 安阳工学院机械工程学院汽车服务工程课件第一章 绪论.ppt
- 安阳工学院机械工程学院数控技术课件第2章 数控加工编程基础.ppt
- 2025-2030中国商用飞机窗帘行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2025至2030中国气体泄漏检测仪行业市场占有率及投资前景评估规划报告.docx
- 山东省2025-2026学年高一物理上学期期末模拟卷01(试卷及全解全析).pdf
- 山东省2025-2026学年高一物理上学期期末模拟卷01(试卷与全解全析).pdf
- 山东省德州市2025-2026学年高一年级上册期中考试英语试题 (解析版).pdf
- 2025至2030中国伤口和组织护理行业市场深度研究与战略咨询分析报告.docx
- 2025至2030中国乙二醇(EG)市场前景预测及发展趋势预判报告.docx
- 2025至2030中国书桌行业市场占有率及投资前景评估规划报告.docx
- 山东省潍坊市2025-2026学年高一年级上册期中考试化学试题(解析版).pdf
- 2025至2030中国香草乙酮市场营销渠道与发展趋势前景分析报告.docx
最近下载
- 一把手 2025年度在带头强化政治忠诚、提高政治能力;在带头固本培元、增强党性;在带头敬畏人民、敬畏组织、敬畏法纪;在带头干事创业、担当作为;在带头坚决扛起管党治党责任五个带头方面存在的问题.docx VIP
- 四川成都农业科技中心招聘真题2024.docx VIP
- 四库全书基本概念系列文库:韵略汇通.pdf VIP
- 元气森林外星人电解质水校园圈层营销方案.pptx VIP
- 中国儿童社交技能评估量表(儿童).docx VIP
- 成都农业科技中心招聘考试真题2024.docx VIP
- 《新媒体翻译(校企)》课程教学大纲(本科).docx VIP
- 《新媒体翻译(校企)》课程教学大纲(本科).pdf VIP
- 2024年成都农业科技中心招聘考试真题.pdf VIP
- 简论在象牙门与兽角门的交叉路口追寻道德要义.doc VIP
原创力文档

文档评论(0)