吉林大学数据结构_堆栈、队列.pptx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
吉林大学数据结构_堆栈、队列

2.5 堆 栈;基本定义;顺序栈;;顺序栈——入栈算法;顺序栈——出栈算法;顺序栈——存取栈顶元素;链式栈;链式栈——入栈算法;链式栈——出栈算法;链式栈——存取栈顶元素;链式栈——栈清空;顺序栈与链式栈的比较-1;顺序栈与链式栈的比较-2;堆栈应用——括号匹配;高级语言程序设计中各种括号应该匹配,如“(”与“)”匹配、“[”与“]”匹配、“{”与“}”匹配等。字符串“{a=(b*c}+free()]”中的括号就没有匹配上,因为串中第一个关括号“}”和最近的未匹配开括号“(”不匹配。;本小节将给出一个简单程序,该程序检查一个输入文本文件中的括号是否正确匹配。 为了实现该程序,先阐明其主要思想。 我们注意到在输入文本文件中,因为字符是按次序输入的,所以如果输入的字符是开括号,则应将其存放起来,继续下一个字符的输入;如果输入的是关括号,则应考察与其最??的未匹配的开括号是否匹配,若匹配,则将匹配的开括号从存放处删除。也就是说,每次用来和关括号进行匹配的开括号都是最后输入的,这符合堆栈的后进先出的特点,因此用堆栈来存放开括号是合理的。;算法match() Read(c). While c≠’\n’ do ( if isopen(c) then s.push(c). else if isclose(c) then ( if notempty(s) then ( s.pop(c’). if notmatch(c,c’) then (print “匹配失败”. return. ) ) else ( print “匹配失败”. Return. ) ) read(c). ) if notempty(s) then ( print “检测到未匹配的开括号”. Return.) ▍;2.6 队列;;顺序队列;删除操作 ;1)不要求队头元素必须存放在下标为零的数组中。 ;2)要求队头元素必须存放在下标为零的数组元素中。 ;删除操作存在的问题;;环状队列;;;;操作;顺序队列——入队;顺序队列——出队;顺序队列——存取队首元素;链式队列;;操 作;链式队列——入队;链式队列——出队;链式队列——存取队首元素

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档