- 2
- 0
- 约7.93千字
- 约 32页
- 2017-07-08 发布于辽宁
- 举报
队列与堆栈2.ppt
3.2 栈的应用举例3.2.5 表达式求值 算符优先法: (4+2*3)-10/5 =(4+6)-10/5 = 10-10/5 =10-2 = 8 操作数(operand): 进OPND栈 操作符(operator): 进OPTR栈 界限符(delimiter): #、()等 #是我们设定的表达式开始和结束标识符。 算符间的优先关系: θ1 θ2 + - * / ( ) # + - * / ( ≒ ) # = 算法基本思想: 1、设置操作数栈OPND为空,表达式起始符#为运算符栈OPTR的栈底元素; 2、依次读入表达式中的每个字符,若是操作数则进OPND栈,若是运算符,则和OPTR栈的栈顶运算符比较优先权后做相应操作,直到整个表达式求值完毕。 算术表达式求值过程(算法3.4)OperandType EvaluateExpression() {InitStack(OPTR); Push(OPTR, ‘#’); InitStack(OPND); c = getchar(); wh
原创力文档

文档评论(0)