回顾
之前我们学习了栈的应用之前,后缀表达式的转换,如有遗忘,点击http://t.csdnimg.cn/PodbC
今天我们来学习-后缀表达式求值 问题
跟中缀转换为后缀问题不同
对后缀表达式来说...后缀表达式运算过程
后缀表达式,又称逆波兰式,不包含括号,运算符放在两个运算对象的后面,所有的计算按运算符出现的顺序,严格从左向右进行(不再考虑运算符的优先规则),非常方便计算机的计算。...后缀表达式的计算过程如下:
1️⃣从左至右扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算,并将结果入栈
2️⃣重复上述过程直到表达式最右端,最后运算得出的值即为表达式的结果...计算后缀表达式的动态流程如下,以1+2-3*2的后缀表达式为例:
最后得到的结果 - 3 还要 push 回栈顶
后缀表达式求值思路及代码流程
1.首先创建空栈operandStack 用于 暂存操作数...(* / + - ) , 就开始求值, 从 栈顶弹出2个操作数,先弹出的是右操作数, 后弹出的是左操作数,计算后将值重新压入栈顶.
4.单词列表扫描结束后,表达式的值就在栈顶
5.弹出栈顶的值