图解后缀表达式的计算过程
2017-04-11 11:45
344 查看
为了解释后缀表达式的好处,我们先来看看,计算机如何应用后缀表达式计算出最终的结果20的。
后缀表达式:9 3 1-3*+ 10 2/+
规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。
下面是详细的步骤:
1. 初始化一个空栈。此桟用来对要运算的数字进出使用。
2. 后缀表达式中前三个都是数字,所以9、3、1进栈。
3. 接下来是减号“-”,所以将栈中的1出栈作为减数,3出栈作为被减数,并运算3-1得到2,再将2进栈。
4. 接着是数字3进栈。
5. 后面是乘法“*”,也就意味着栈中3和2出栈,2与3相乘,得到6,并将6进栈。
6. 下面是加法“+”,所以找中6和9出找,9与6相加,得到15,将15进栈。
7. 接着是10与2两数字进栈。
8. 接下来是符号因此,栈顶的2与10出栈,10与2相除,得到5,将5进栈。
9. 最后一个是符号“+”,所以15与5出找并相加,得到20,将20进栈。
10. 结果是20出栈,栈变为空。
后缀表达式:9 3 1-3*+ 10 2/+
规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。
下面是详细的步骤:
1. 初始化一个空栈。此桟用来对要运算的数字进出使用。
2. 后缀表达式中前三个都是数字,所以9、3、1进栈。
3. 接下来是减号“-”,所以将栈中的1出栈作为减数,3出栈作为被减数,并运算3-1得到2,再将2进栈。
4. 接着是数字3进栈。
5. 后面是乘法“*”,也就意味着栈中3和2出栈,2与3相乘,得到6,并将6进栈。
6. 下面是加法“+”,所以找中6和9出找,9与6相加,得到15,将15进栈。
7. 接着是10与2两数字进栈。
8. 接下来是符号因此,栈顶的2与10出栈,10与2相除,得到5,将5进栈。
9. 最后一个是符号“+”,所以15与5出找并相加,得到20,将20进栈。
10. 结果是20出栈,栈变为空。
相关文章推荐
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 【后缀表达式的计算思想、过程以及算法实现】
- 使用ExpressionBuilder 类 在分析页的过程中计算表达式
- 中缀表达式转换为后缀表达式及逆波兰式计算
- 后缀表达式字符串计算 --只对个位数计算及 1* 2 -3+6/2
- 后缀表达式计算
- 中缀表达式转换成后缀表达式/计算后缀表达式
- 1686 Lazy Math Instructor 计算表达式 后缀表达式 +-*/^()
- 数据结构—中缀表达式转后缀表达式算法及实现—栈的应用—计算表达式(C++代码实现)(1)
- 中缀表达式/前缀表达式/后缀表达式 的计算方法
- 堆栈的应用(2) 中缀算术表达式到后缀(逆波兰记法reverse polish notation)的转换及其计算 C++实现
- 使用ExpressionBuilder 类 在分析页的过程中计算表达式
- 【叶子函数分享十七】中缀算术转后缀算术表达式并计算的函数
- 计算后缀表达式
- 关于java 的科学计算算法(前,中,后缀表达式的转换)——计算器制作的心得
- 中缀表达式变为后缀表达式,以及后缀表达式的计算