1+(6+2)*3
基本逻辑:先计算括号中的算式,将结果与3相乘,最后加1.
method:先转成中间态,去掉括号,把运算符放到数字后面
1、所有数字直接输出。
2、运算符优先级高于栈内的运算符时要入栈或展空。否则,从堆栈中弹出所有优先级更高的或一样的运算符(或直到括号),再将当前的入栈。
3、所有左括号都要入栈。
4、若站内包含左括号,运算符都要入栈。
5、若是右括号,栈不断出栈,知道碰到左括号。
最后栈中一一出栈。
162+3*+
凡是数字就压栈,凡是运算符就出栈两次进行计算,再将结果压栈。计算。