- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.3栈选修1《数据与数据结构》栈:一种操作受限的线性表,仅允许在表的一端进行插入或删除。进行插入或删除操作的一端称为栈顶,位于栈顶位置的元素称为栈顶元素;相应地,将表的另一端称为栈底,位于栈底位置的元素为栈底元素。 栈的概念和特性1.先进后出、后进先出DCBA栈顶栈底弹匣的装弹过程(入栈)最后入栈的D最先出栈,最先入栈的A最后出栈 栈的概念和特性2.有限序列性栈可以是空的,也可以包含多个元素。栈中元素呈现线性关系,栈顶元素有一个前驱点,栈底元素有一个后继点,其他元素既有一个前驱点,又有一个后继点。 栈的概念和特性【思考】栈与队列有什么相同点和不同点?数据结构队列栈相同点都是一种操作受限的线性表,都具有有限序列性的特点。不同点两端开放:队尾入队,队首出队先进先出一端开放:栈顶入栈出栈先进后出 栈的概念和特性栈,一般按顺序结构存储,可以用数组实现。由于栈顶元素在数组中的位置会发生改变,因此使用top变量来记录栈顶元素在数组中的位置。如下图所示,①图为栈结构,②图为用数组st存储该栈。topCBA栈顶:top=2ABC数组st012栈底:②①栈的存储 栈的基本操作1.建栈在Python中,当要存储n个元素的栈时,可以用列表创建一个长度为n的栈。例如,要使4个字母ABCD按序入栈、出栈,可以建一个长度为4的栈st,元素初始值均为空串。为了操作方便,把指向栈顶元素的指针变量top值设置为-1。Python代码实现如下:top=-1st=[]*4 栈的基本操作2.入栈入栈又叫压栈操作,把数据元素压入栈顶。每次入栈时,栈顶指针变量top值加1,再给st[top]赋值。字母A,B,C,D按序入栈的过程如下图所示。333ABACBADCBA3top 322top 2221top op 0空栈top -1满栈①②③④⑤ top = -1st = [] * 4top +=1st[top] = Atop +=1st[top] = Btop +=1st[top] = Ctop +=1st[top] = Dst栈的入栈过程 栈的基本操作Python代码实现如下:top=-1st=[]*4top=top+1 #top=0st[top]=A #字母A入栈top=top+1 #top=1st[top]=B #字母B入栈top=top+1 #top=2st[top]=C #字母C入栈top=top+1 #top=3st[top]=D #字母D入栈top=-1st=[]*4s=[A,B,C,D]for i in s:#所有字母依次入栈____________________ top=top+1st[top]=i 栈的基本操作3.出栈出栈时把栈顶元素取出,同时top值减1。如果栈中没有元素时,即top=-1,不能进行出栈操作。3DCBACBA3top 33ABA32top 22221top op 0满栈空栈top -1①②③④⑤ print(st[top])top-=1print(st[top])top-=1print(st[top])top-=1print(st[top])top-=1 栈的基本操作Python代码实现如下:st=[A,B,C,D]top=3print(st[top])#字母D出栈top-=1 #top=2print(st[top])#字母C出栈top-=1 #top=1print(st[top])#字母B出栈top-=1 #top=0print(st[top])#字母A出栈top-=1 #top=-1st=[A,B,C,D]top=3while __________:#所有字母依次出栈 print(st[top])__________top-1top-=1 栈的基本操作编号为1、2、3、4的4列火车,按顺序开进一个栈式结构的站点。问:开出火车站的顺序有多少种?请写出所有可能的出栈序列。进入栈中的元素可停留、可出栈(1)若火车①最先出栈,只能是①进①出,剩下②③④,则有:出入栈方式出栈序列②进②出,③进③出,④进④出①②③④②进②出,③进,④进④出,③出①②④③②进,③进③出,②出,④进④出①③②④②进,③进③出,④进④出,②出①③④②②进,③进,④进④出,③出,②出①④③②先进后出 问题与讨论(2)若火车②最先出栈,只能是①进,②进②出,剩下 ③④,则有:出入栈方式出栈序列①出,③进③出,④进④出②①③④①出,③进,④进④出,③出②①④③③进③出,①出,④进④出②③①④③进③出,④进④出,①出②③④①③进,④进④出,③出,①出②④③① 问题与讨论(3)若火车
您可能关注的文档
- 第1课信息与信息技术(课件)三年级全一册信息技术苏科版.pptx
- 第三章 第3节 数据图表与分析 课件 2022—2023学年苏科版初中信息技术七年级.pptx
- 第一章 结构及其设计 课件-2022-2023学年高中通用技术地质版(2019)必修《技术与设计2》.pptx
- 队列的概念、特性及基本操作教学设计.doc
- 链表的概念、特性、基本操作教学设计.doc
- 数组的概念、特性、基本操作教学设计.doc
- 栈的概念、特性及基本操作教学设计.doc
- 字符串的概念、特性及基本操作教学设计.doc
- 变换造型教案.docx
- 第10课 电子表格排数据(教案)五年级下册信息技术人教版1.docx
- 全国青少年(毒品预防教育)知识考试题库与答案 .pdf
- 2023年山东胶州市领军计划自主招生历史试题真题(含答案详解) .pdf
- 【人教版八年级生物】第六单元 第二章 认识生物的多样性 .pdf
- 冀人版-第三单元 电(提升卷)-四年级科学上册单元培优进阶练.docx
- 新郑市事业单位统考真题 .pdf
- 冀人版-第三单元动物的生长与繁殖(单元测试)四年级下册科学.docx
- CLCN4基因变异相关癫痫的临床表型及基因变异特点 .pdf
- 【《“双减”背景下小学中年级语文自主阅读策略探究》6500字】 .pdf
- 高一语文开学第一课+课件+2024-2025学年统编版高中语文必修上册 .pdf
- 密山市事业单位统考真题 .pdf
文档评论(0)