数据结构03-栈队列.ppt_第1页
数据结构03-栈队列.ppt_第2页
数据结构03-栈队列.ppt_第3页
数据结构03-栈队列.ppt_第4页
数据结构03-栈队列.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章栈和队列数据结构主讲教师:祝建华华中科技大学计算机学院2引言:对线性表L=(a1,a2,.,an),可在任意第i(i=1,2,.n,n+1)个位置插入新元素,或删除任意第i(i=1,2,.n)个元素受限数据结构-插入和删除受限制的线性表。1.栈(stack)2.队列(queue)3.双队列(deque)都属于插入和删除受限制的线性表。华中科技大学计算机学院33.1栈(stack)3.1.1栈的定义和操作1.定义和术语栈:限定在表尾作插入、删除操作的线性表。(a1,a2,.,an)插入元素(进栈)删除元素(出栈)表头表尾(栈底)(栈顶)华中科技大学计算机学院4ana1栈顶(top)栈底(bottom)出栈(pop)进栈(push)进栈:插入一个元素到栈中。或称:入栈、推入、压入、push。出栈:从栈删除一个元素。或称:退栈、上托、弹出、pop。栈顶:允许插入、删除元素的一端(表尾)。栈顶元素:处在栈顶位置的元素。栈底:表中不允许插入、删除元素的一端。空栈:不含元素的栈。栈的元素的进出原则:“后进先出”,“LastInFirstOut”。栈的别名:“后进先出”表、“LIFO”表、反转存储器、地窖、堆栈。栈的示意图华中科技大学计算机学院52.栈的基本操作(1)Initstack(s):置s为空栈。(2)Push(s,e):元素e进栈s。若s已满,则发生溢出。若不能解决溢出,重新分配空间失败,则插入失败。(3)Pop(s,e):删除栈s的顶元素,并送入e。若s为空栈,发生“下溢”(underflow);为空栈时,表示某项任务已完成。(4)Gettop(s,e):栈s的顶元素拷贝到e。若s为空栈,则结束拷贝。(5)Empty(s):判断s是否为空栈。若s为空栈,则Empty(s)为true;否则为false。华中科技大学计算机学院6输入端A,B,C进栈进栈出栈输出端调度站(栈)3.理解栈操作(模拟铁路调度站)讨论:假设依次输入3个元素(车厢)A,B,C到栈(调度站)中,可得当哪几种不同输出?华中科技大学计算机学院7AB,C(1)A进栈B,C(2)A出栈BC(3)B进栈(4)B出栈C(5)C进栈(6)C出栈CA,B,CAA,BA,BA(1)输入A,B,C,产生输出A,B,C的过程:华中科技大学计算机学院8AB,C(1)A进栈BAC(2)B进栈CBA(3)C进栈BA(4)C出栈A(5)B出栈(6)A出栈C,B,ACC,B(2)输入A,B,C,产生输出C,B,A的过程:华中科技大学计算机学院9AB,C(1)A进栈BAC(2)B进栈AC(3)B

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论