链栈及栈的应用.pptVIP

  • 32
  • 0
  • 约6.15千字
  • 约 26页
  • 2017-04-01 发布于江苏
  • 举报
链栈及栈的应用

第3章 链栈 及栈的应用 3 表达式求值 把表达式翻译成正确的机器执行指令,要正确地解释表达式. 算符优先法是根据算术四则运算的规定来编译或解释表达式的. 表达式由操作数,运算符,界限符组成.操作数可以是变量或常量;此处考虑的运算符仅为+-*/,界限符有左右括号和结束符”#”. 为实现算符优先法,可以使用两个工作栈.OPTR:存放运算符, OPND:存放操作数或运算结果. 算法的基本思想: (1)置操作数栈为空,表达式起始符”#”,作为运算符栈的栈底. (2)依次读入表达式中每个字符,若是操作数进OPND栈,若是运算符,则和OPTR栈的栈顶运算符比较优先权后作相应操作,直至整个表达式求值完毕(即OPTR栈的栈顶元素和当前读入的字符均为”#”). 算法 OperandType EvaluateExpression(){ //算术表达式求值的算符优先算法,设OPTR和OPND分别为运算符栈和操作数栈;OP为算符(运算符和界限符)集合 InitStack(OPTR;) Push(OPTR,’#’);InitStack(OPND);c=getchar(); while(c!=‘#’||GetTop(OPTR)!=‘#’){ if (!

文档评论(0)

1亿VIP精品文档

相关文档