[理学]第三章 栈与队列.pptVIP

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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队列的链式存储结构

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档