逆波兰:不需要括号的后缀表示法
例:9+( 3 - 1 )+10 ÷ 2
后缀表示法:“ 9 3 1 - 3 * + 10 2 /+”
程序表示的思路规则:
从左向右遍历表达式的每个数字和符号,遇到数字就进栈,遇到符号,就将处于栈顶的两个数字出栈,进行运算,运算结果进栈,一直获得最终的结果。
1,初始化一个空栈。
2,后缀表达式中的前三个数字进栈。
3,接下来是“-”,将栈中的”1“出栈作为减数,“3”作为被减数,运算结果进栈。
4,接着数字“3”进栈。
5,后面是“*”,将3和2 出栈,相乘结果进栈。
6,下面是“+”,所以6和9出栈,相加得15出栈。
7,接着10和2进栈。
8,接下来就是符号“/”,10与2相除,得到5进栈。
9,最后一个符号是“+”,得20进栈。
10,结果是20 ,出栈,栈为空。