- 1、本文档共90页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]第三章 栈与队列
第三章 栈和队列 教学目的 掌握栈和队列这两种数据结构的特点,懂得什么样的问题应用哪种结构; 掌握栈和队列的逻辑结构和存储结构,以及栈和队列的基本运算以及算法实现。 注意栈满和栈空、队满和队空的条件及它们的描述; 重点 1)栈和队列的定义、操作特性。 2)栈和队列两种存储结构基本操作算法的实现。 难点 1)栈和队列运用。 2)循环队列的组织,队满、队空的判断条件及算法设计 纲要 3.1 栈的定义及其运算 3.2 栈的表示和实现 3.2.1 栈的顺序存储结构 3.2.2 栈的链式存储结构 3.3 栈的应用 3.4 队 列 3.5 队列的表示和实现 3.5.1 队列的链式存储结构 3.5.2 队列的顺序存储结构 3.6 队列的运用 3.1 栈的逻辑结构 3.1 栈的逻辑结构 3.1 栈的逻辑结构 3.1 栈的逻辑结构 3.1 栈的逻辑结构 DestroyStack(s) 初始条件:栈已存在 输入:无 功能:销毁栈 输出:无 操作结果:释放栈所占用的存储空间 Push (s,e) 初始条件:栈已存在 输入:元素值e 功能:在栈顶插入一个元素e 输出:如果插入不成功,抛出异常 操作结果:如果插入成功,栈顶增加了一个元素 3.1 栈的逻辑结构 Pop (s,e) 初始条件:栈已存在 输入:无 功能:删除栈顶元素 输出:如果删除成功,返回被删元素值,否则,抛出异常 操作结果:如果删除成功,栈减少了一个元素 GetTop(s,e) 初始条件:栈已存在 输入:无 功能:读取当前的栈顶元素 输出:若栈不空,返回当前的栈顶元素值 操作结果:栈不变 3.1 栈的逻辑结构 3.2 栈的顺序存储结构及实现 因栈是一种特殊的线性表,同线性表类似,栈也有两种存储结构: 顺序存储结构 链表存储结构 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.2 栈的顺序存储结构及实现 3.3 栈的链式存储结构及实现 3.3 栈的链式存储结构及实现 3.3 栈的链式存储结构及实现 3.3 栈的链式存储结构及实现 3.3 栈的链式存储结构及实现 3.4 栈的应用 1.借助栈来实现单链表逆置算法 分析 利用栈的特征,先沿着链表从头至尾扫描一遍,将链表的每个结点的data域的值依次进栈,然后再沿着链表从头至尾扫描一遍,同时栈中元素依次出栈,并填入到链表的每个结点的data域中。 算法 Status reverse(LinkList L){ Lkstack ls; elemtype x; initstack(ls); //初始化栈 p=L-next; while(p!=null){ push(ls,p-data); p=p-next; } p=L-next; while(!emptystack(ls)){ pop(ls,x); p-data=x; p=p-next; } } 3.5 队 列 3.5 队 列 3.5.1 队列的逻辑结构 3.5.1 队列的逻辑结构 DestroyQueue(Q) 初始条件:队列Q已存在 输入:无 功能:销毁队列 输出:无 操作结果:释放队列所占用的存储空间 EnQueue (Q,e) 初始条件:队列Q已存在 输入:元素值e 功能:在队尾插入一个元素 输出:如果插入不成功,抛出异常 操作结果:插入元素e为新的队尾元素 3.5.1 队列的逻辑结构 DeQueue (Q,e) 初始条件:队列Q已存在 输入:无 功能:删除队头元素 输出:如果删除成功,返回被删元素值 操作结果:删除Q的队头元素,并用e返回其值 GetQueue(Q) 初始条件:队列Q已存在 输入:无 功能:读取队头元素 输出:若队列不空,返回队头元素 操作结果:队列不变 3.5.2队列的链式存储结构
您可能关注的文档
- [工学]3第二章 金属切削的原理与刀具.ppt
- [工学]6、模拟集成电路.ppt
- [工学]CAD课件3.ppt
- [工学]MCS-51的指令系统与汇编设计习题.ppt
- [工作计划]沈阳地铁九号线地九合同段.doc
- [工学]L-scm002.ppt
- [工学]T1123-6张科-C语言课程设计报告.doc
- [工学]PLC课件第三章-3-1_2.ppt
- [工学]三节压力检测仪表.ppt
- [工学]《计算机组成与系统结构》清华大学出版社袁春风编著第六章课件.ppt
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
文档评论(0)