刘勇3栈和队列
《刘勇3栈和队列》由会员分享,可在线阅读,更多相关《刘勇3栈和队列(27页珍藏版)》请在装配图网上搜索。
1、2022-11-26北京化工大学信息学院 数据结构12022-11-26北京化工大学信息学院 数据结构2退栈进栈a0an-1an-2topbottom2022-11-26北京化工大学信息学院 数据结构3ADT Stack /对象对象:由数据类型为由数据类型为StackData的元素构成的元素构成 void push(StackData x);/进栈进栈 void pop();/出栈出栈 StackData top();/取栈顶取栈顶 bool isEmpty();/判栈空否判栈空否 bool isFull();/判栈满否判栈满否(顺序栈顺序栈)2022-11-26北京化工大学信息学院 数据结构
2、4 top空栈toptoptoptoptopa 进栈b 进栈aababcdee 进栈abcdef 进栈溢出abdee 退栈c2022-11-26北京化工大学信息学院 数据结构5topc 退栈b 退栈abaa 退栈空空栈topabdd 退栈ctopabctoptop2022-11-26北京化工大学信息学院 数据结构6top2022-11-26北京化工大学信息学院 数据结构72022-11-26北京化工大学信息学院 数据结构82022-11-26北京化工大学信息学院 数据结构92022-11-26北京化工大学信息学院 数据结构10#退格符 退行符switch(ch)case#:s.pop();br
3、eak;case:s.clear();break;default:s.push(ch);break;2022-11-26北京化工大学信息学院 数据结构11到了一个位置,先往东东走,走不通再顺时针换方向往南,西,北2022-11-26北京化工大学信息学院 数据结构12求迷宫路径算法的基本思想是:求迷宫路径算法的基本思想是:1、起点、起点S入栈入栈2、反复执行以下步骤,直到栈为空,或者找到终点、反复执行以下步骤,直到栈为空,或者找到终点E(1)取栈顶)取栈顶m,标记,标记m已被访问,根据已被访问,根据m的方向找到下一个位置的方向找到下一个位置next;(2)如果)如果next不是墙壁,也没有被访问
4、过,将不是墙壁,也没有被访问过,将next入栈入栈(3)否则换方向继续找下一个位置)否则换方向继续找下一个位置(4)4个方向都不能通过,出栈,回到第(个方向都不能通过,出栈,回到第(1)步)步3、找到终点、找到终点E,迷宫走出,迷宫走出 在找到终点在找到终点E之前,栈空了,说明迷宫没有出去的路径之前,栈空了,说明迷宫没有出去的路径2022-11-26北京化工大学信息学院 数据结构132022-11-26北京化工大学信息学院 数据结构142022-11-26北京化工大学信息学院 数据结构15操作数栈D,运算符栈O1、操作数入栈D2、遇到运算符OP1,和O栈顶运算符OP2比较:(1)如果OP2优先
5、级高,则将两个栈的元素出栈,做运算,将运算结果入栈D;(2)如果OP1优先级高,OP1入栈O2022-11-26北京化工大学信息学院 数据结构16算法:1、辅助数组 bool isPushedN+1=false,1入栈S,isPushed1=true2、遍历出栈序列,对每个数字n,执行以下操作:(1)取S栈顶t,将t,t+1,t+2.n的所有不曾入栈的数字入栈,并在辅助数组中标记对应下标为true(2)取S栈顶t,若s=n,S出栈;若s!=n,则出栈序列非法。已知自然数1,2,.,N(1=N=100)依次入栈,请问序列C1,C2,.,CN是否为合法的出栈序列。如3 4 2 1 5是合法的而3
6、5 1 4 2不是合法的2022-11-26北京化工大学信息学院 数据结构17a0 a1 a2 an-1frontrear2022-11-26北京化工大学信息学院 数据结构18ADT Queue/对象对象:由数据类型为由数据类型为QueueData的元素构成的元素构成 void push(QueueData x);/进队进队 void pop();/出队并取队头出队并取队头 QueueData front();/取队头取队头 bool isEmpty();/判队空否判队空否 bool isFull();/判队满否判队满否(顺序队列顺序队列)2022-11-26北京化工大学信息学院 数据结构19
7、front rear空队列front rearA进队Afront rearB进队A Bfront rearC,D进队A B C Dfront rearA退队B C Dfront rearB退队C Dfront rearE,F,G进进队C D E F GC D E F Gfront rearH进进队,溢出2022-11-26北京化工大学信息学院 数据结构20n n 2022-11-26北京化工大学信息学院 数据结构212022-11-26北京化工大学信息学院 数据结构2201234567front01234567front01234567frontrearAABCrearrear空队列空队列A进
8、队进队B,C进队进队0123456701234567A退队退队B退队退队01234567D,E,F,G,H,I进队进队frontBCrearAfrontBCrearfrontCrearDEF GHI2022-11-26北京化工大学信息学院 数据结构23frontrear2022-11-26北京化工大学信息学院 数据结构242022-11-26北京化工大学信息学院 数据结构250 1 1 0ts+ti=40 1 3 3 1 0si=51 4 6 4 1i=30 1 2 1 02022-11-26北京化工大学信息学院 数据结构261 2 1 0 1 3 3 1 0 1 4 6s=0 t=1 t=2 t=1 t=0 t=1 t=3 t=3 t=1 t=0 t=1s+t s=t s=t s=t s=t s=t s=t s=t s=ts+t s+t s+t s+t s+t s+t s+t s+t2022-11-26北京化工大学信息学院 数据结构27求第求第n层算法:层算法:(1)初始化队列为)初始化队列为0 1 0,将第将第2、3步循环步循环n-1次次(2)将队列的前两个元素)将队列的前两个元素s,t求和,结果入队,删除求和,结果入队,删除队首队首s,直到,直到t为为0为止为止(3)0入队入队
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《认识角》ppt教学讲解课件
- 《从数据谈节水》数据的收集、整理与描述优秀教学ppt课件
- 人员配置-公司组织架构与人员配置计划课件
- 《认识分式》ppt课件
- 《从百草园到三味书屋》第一课时ppt课件
- 公路工程概预算三课件
- 中考物理专题突破-综合能力题教学课件
- 《创新设计》高考英语二轮复习(江苏专用)ppt课件:第二部分-基础语法巧学巧练-专题八-非谓语动词
- 中考物理专题复习课件:滑轮及滑轮组
- CIM安全标识统一规划课件
- 中考物理专题复习教学课件-质量和密度
- 《处理民族关系的原则平等团结共同繁荣》ppt课件
- 中考物理专题复习之物理实验和探究题复习指导教学课件
- 《十二人人都会有挫折》初中心理健康教育闽教版《中学生心理健康》七级课件
- Cisco无线网络-安全-Brief课件