如何只使用一个栈求出中缀表达式的值,需要思路,或者手算过程!题目是只用一个栈,网上好多答案需要两个一个存储数据一个运算符号
理论上应该可以,但是需要完整的表达式,即每一对操作数都需要用括号括起来。比如1+2+3要写成((1+2)+3),不然无法决定计算的优先级。思路就是,按表达式顺序,遇到左括号就入栈,遇到右括号,就将栈顶的四个元素(一个左括号,两个数字,一个操作符)出栈进行计算,然后将计算结果重新入栈。到表达式结束,栈顶的元素就是表达式的值。