数据结构表达式求值 运算符优先级

2025-03-12 03:20:26
推荐回答(1个)
回答1:

采用后缀表达式,即“逆波兰式”,因为计算机处理后缀表达式求值问题比较方便,在计算时只需要一个操作数栈,即:将遇到的操作数入栈,凡是遇到操作符便从栈中弹出两个操作数执行计算,并将结果存于栈中,直到后缀表达式的最后一个操作符处理完毕,最后一个入栈的数值即为最终的表达式的值。这里的关键是怎样求得表达式的后缀表达式,其规则与方法1的“操作符优先级规则”基本一致,具体是这样的:转化过程只需要一个操作符栈,自左至右扫描表达式过程中,遇到数字直接入后缀表达式,遇到操作符根据操作符优先级规则出入栈,出栈后直接写入后缀表达式。得到后缀表达式后在计算便简单了。