表达式求值升级版
在上一个题目的基础上,**加上括号的操作。**大家思考一下。
栈在表达式计算过程中的应用 :建立操作数栈和运算符栈。运算符有优先级。规则:
-
自左至右扫描表达式,凡是遇到操作数一律进操作数栈。
-
当遇到运算符时,如果它的优先级比运算符栈栈顶元素的优先级高就进栈。反之,取出栈顶运算符和操作数栈栈顶的连续两个操作数进行运算,并将结果存入操作数栈,然后继续比较该运算符与栈顶运算符的优先级。
-
左括号一律进运算符栈,右括号一律不进运算符栈,取出运算符栈顶运算符和操作数栈顶的两个操作数进行运算,并将结果压入操作数栈,直到取出左括号为止。
