3.3栈ppt课件-2023新浙教版《高中信息技术》选择性必修第一册.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《3.3栈ppt课件-2023新浙教版《高中信息技术》选择性必修第一册.pptx》由用户(Q123)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高中信息技术 3.3 ppt 课件 _2023 新浙教版 高中 信息技术 选择性 必修 一册 下载 _选修1 数据与数据结构_浙教版(2019)_信息_高中
- 资源描述:
-
1、3.33.3栈栈情景导入情景导入PART1 1栈的概念与特性栈的概念与特性一一 栈的概念与特性栈的概念与特性 栈是一种操作受限的线性表,仅允许在表的一端的进行插入和删除蓝莓味葡萄味草莓味栈顶栈底蓝莓味葡萄味草莓味哈密瓜味推入弹出 进行插入或删除操作的一端称为栈顶,位于栈顶位置的元素称为栈顶元素;相应地,将表的另一端称为栈底,位于栈底位置的元素为栈底元素。一一 栈的概念与特性栈的概念与特性(1)先进后出、后进先出 (last in first out,故栈也称为后进先出表(LIFO表))由栈的定义可知,栈具备“先进后出、后进先出”的特点。(2)有限序列性 栈中的元素是有限的。栈可以是空的,也可以
2、包含多个元素。栈中元素呈现线性关系,栈顶元素有一个前驱点,栈底元素有一个后继点,其他元素既有一个前驱点,又有一个后继点。练习练习1.元素A,B,C,D依次进栈后,栈顶元素是()栈底元素是()DA2.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印缓冲区,主机将要打印的数据依次写进该缓冲区,而打印机一次从该缓冲区取出数据,该缓冲区的逻辑结构应该是()A.栈B.队列C.树D.图B练习练习3.有六个元素以6,5,4,3,2,1的顺序进栈,()不是合法的出栈顺序A.5,4,3,6,1,2B.4,5,3,1,2,6C.3,4,6,5,2,1D.2,3,4,1,5,6C练习练习4.若元素a、b、
3、c、d、e、f依次进栈,允许进栈退栈操作交替进行,但不允许连续3次进行退栈操作,则不可能得到的出栈序列是()A.d,c,e,b,f,aB.c,b,d,a,e,fC.b,c,a,e,f,dD.a,f,e,d,c,bDPART2 2栈的基本操作栈的基本操作一一 栈的基本操作栈的基本操作1.栈的创建 栈的创建方式有很多种(链栈、顺序栈),一般按照顺序存储,可以用数组来实现。由于栈顶元素在数组中的位置会发生改变,因此用top变量来记录栈顶元素在数组中的位置。当top为-1时,表示栈为空。st=“”*4top=-1sttop=-1一一 栈的基本操作栈的基本操作2.入栈 入栈又叫压栈操作,把数据元素压入栈
4、顶。字母“A”、“B”、“C”、“D”依次入栈。sttop=-1top=top+1sttop=“A”topABCD一一 栈的基本操作栈的基本操作3.出栈操作 出栈时把栈顶元素取出,同时top减一,当top为-1时,表示栈为空。sttop=-1print(sttop)top=top-1topABCD练习练习【例1】下列代码段能够实现分离正整数,并输出其各位数字(用空格隔开)的功能。请在划线处填入合适的代码。st=0*10#创建一个空栈top=-1num=int(input(“请输入一个正整数:)while num0:sttop=num=num/10print(输出结果为:,end=)while
5、top-1:print(,end=)top-=1top+=1num%10sttop例题例题1 11.十进制转二进制st=-1*100#列表中元素初始值-1top=-1number=int(input(请输入十进制整数:)while number0:x=number%2 _ _#入栈 number=number/2while top-0:print(sttop,end=)#出栈 _top=top+1sttop=x top=top-1例题例题2 22.括号匹配在一个数学计算式“(a(b-c)+d)e”中,位置1和位置4有左括号“(,位置9和位置12有右括号“)”。位置1的左括号与位置12的右括号相
6、匹配,位置4的左括号与位置9的右括号相匹配。而对于数学计算式“a(b-c),位置8的右括号没有可匹配的左括号。设计一个程序,判断输入的数学计算式中的括号(只有小括号)是否匹配。()()()(数量、位置例题例题2 22.括号匹配st-=*100top=-1flag=True#标记是否有不匹配的情况s=input(请输入数学计算式:)for i in range(len():if si=(:_ elif si=):if top=-1:_ break else:_iftop=0:#栈中还有左括号 flag=Falseif flag:print(括号匹配”)else:print(括号不匹配)top=t
展开阅读全文