数据结构课件.pptxVIP

  • 1
  • 0
  • 约小于1千字
  • 约 34页
  • 2026-05-06 发布于湖北
  • 举报

第3章限定性线性表——栈和队列;3.1栈;栈的定义:;根据栈定义,每次进栈的元素都被放在原栈顶元素之上而成为新的栈顶,而每次出栈的总是当前栈中“最新”的元素,即最后进栈的元素。因此,栈又称为后进先出的线性表。简称为LIFO表。如下图所示:;栈的抽象数据类型定义;3.1.2栈的表示和实现;1.顺序栈;用C语言定义栈的顺序存储结构;顺序栈中的进栈和出栈图例;顺序栈基本操作的实现;2)判栈空;3)判栈满;4)进栈;5)出栈;6)取栈顶元素;两栈共享技术:;两栈共享的数据结构定义;1)两栈共享的初始化操作算法;2)两栈共享的进栈操作算法;;2.链栈;用C语言定义的链栈结构;链栈的进栈操作;链栈的出栈操作;3.1.3栈的应用举例;2.括号匹配问题;算法:;3.表达式求值;2)算术表达式处理规则;例:实现A/B↑C+D*E#的运算过程时栈区变化情况;3)带括号算术表达式;??(1)若栈顶运算符的优先级低于刚读入的运算符,则让刚读入的运算符进operator栈;

(2)若栈顶运算符的优先级高于刚读入的运算符,则将栈顶运算符退栈,送入θ,同时将操作数栈operand退栈两次,得到两个操作数a、b,对a、b进行θ运算后,将运算结果作为中间结果推入operand栈;

(3)若栈顶运算符的优先级与刚读入的运算符的优先级相同,说明

文档评论(0)

1亿VIP精品文档

相关文档