




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、22.3.322.3.322.3.322.3.322.3.322.3.3ADT Stack 数据对象数据对象: D = ai | aiElemSet, i=1,2,n, n0 数据关系数据关系:R1 = | ai-1, aiD, i=2,3,n 约定约定an端为栈顶端为栈顶 , a1端为栈底。端为栈底。基本操作:基本操作:ADT Stack22.3.322.3.3基本操作:InitStack( &S )DestroyStack(&S)StackEmpty(S)StackLength(S)GetTop(S,&e)ClearStack(&S)Push(&S,
2、e)Pop(&S,&e)StackTraverse(S,visit()22.3.322.3.3uInitStack( &S )操作结果:构造一个空栈。操作结果:构造一个空栈。uDestroyStack(&S)初时条件:栈初时条件:栈S已存在已存在操作结果:栈操作结果:栈S被销毁被销毁uStackEmpty(S)初时条件:栈初时条件:栈S已存在已存在操作结果:若栈操作结果:若栈S为空栈,则返回为空栈,则返回TRUE,否否则则FALSE。22.3.322.3.3uStackLength(S)初时条件:栈初时条件:栈S已存在已存在操作结果:返回操作结果:返回S的元素个
3、数,即栈的长度。的元素个数,即栈的长度。uGetTop(S,&e)初时条件:栈初时条件:栈S已存在且非空。已存在且非空。操作结果:用操作结果:用e返回返回S的栈顶元素。的栈顶元素。uClearStack(&S)初时条件:栈初时条件:栈S已存在已存在操作结果:将操作结果:将S清空为空栈清空为空栈22.3.322.3.3uPush(&S,e)初时条件:栈初时条件:栈S已存在已存在操作结果:插入元素操作结果:插入元素e为新的栈顶元素。为新的栈顶元素。uPop(&S,&e)初时条件:栈初时条件:栈S已存在且非空。已存在且非空。操作结果:删除操作结果:删除S的栈顶
4、元素,并用的栈顶元素,并用e返回返回其值。其值。uStackTraverse(S,visit()初时条件:栈初时条件:栈S已存在且非空已存在且非空操作结果:从栈底到栈顶依次对操作结果:从栈底到栈顶依次对S的每个数的每个数据元素调用函数据元素调用函数visit()。一旦。一旦visit()失败,失败,则操作失败。则操作失败。22.3.322.3.322.3.322.3.322.3.322.3.3空栈空栈basebasetoptop元素元素a进栈进栈basebasetoptopa元素元素b,c进栈进栈basebasetoptopabc元素c退栈basebasetoptopabbasebasetop
5、topabdef元素d,e,f进栈22.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.3 ( div为整除运算为整除运算, ,mod为求余运算为求余运算 )22.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.
6、3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.322.3.3a1 , a2 , , an出队出队入队入队队尾队尾队首队首22.3.322.3.3数据对象数据对象: D = ai | aiElemSet, i=1,2,n, n0 数据关系数据关系:R1 = | ai-1, aiD, i=2,3,n 约定其中约定其中a1 端为对列头端为对列头 , an端为队列尾。端为队列尾。基本操作:基本操
7、作:22.3.322.3.3基本操作:InitQueue( &Q )DestroyQueue (&Q )QueueEmpty(Q )QueueLength(Q )GetHead(Q , &e)ClearQueue (&Q )EnQueue (&Q,e)DeQueue (&Q,&e)Queue(Q,visit()22.3.322.3.3GetHead(Q , &e)初时条件:初时条件:Q为非空队列。为非空队列。操作结果:用操作结果:用e返回返回Q的队头元素的队头元素DeQueue (&Q,&e)初时条件:初时条件:Q为非空队列。为非空队列。操作结果:删除操作结果:删除Q的队头元素,并用的队头元素,并用e返回返回其值。其值。EnQueue (&Q,e)初时条件:队列初时条件:队列Q已存在已存在。操作结果:插入元素操作结果:插入元素e为为Q的新的队尾元素。的新的队尾元素。22.3.322.3.322.3.322.3.322.3.322.3.3(a) 空队列空队列front rear(b) x入队入队 x front rear(c) y再入队再入队 y front rear x(d) x出队出队 y xfront rear22.3.322
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中各科会考试题及答案
- 业务流程快速启动与部署工具
- 销售团队业绩分析模板提升销售策略
- 2025年古代医官考试题目及答案
- 烟草营销面试真题及答案
- 企业项目执行与监督报告生成模板
- 项目进度管理工具表时间节点与任务分配版
- 2025年保育员卫生试题及答案
- 江西省赣州市南康中学2025-2026学年高二上学期第一次大考地理试题(含答案)
- 企业人力资源管理指标分析框架
- 体育老师读书分享:运动与人生
- 预防接种课件讲稿
- 财务风险防控与内控管理方案
- 牛肉酱制作培训课件
- 民族共同体课件
- 售电入门基础知识培训课件
- 2024年时事政治考试题库有答案
- 小儿镇静课件
- 光伏建筑投标文件范本
- 2025年药店员工培训考试试题(附答案)
- 民办学校招生方案及推广策略实操指南
评论
0/150
提交评论