图解后缀表达式的计算过程
2016-08-11 22:51
225 查看
为了解释后缀表达式的好处,我们先来看看,计算机如何应用后缀表达式计算出最终的结果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/+”是如何通过算式“9+(3-1)*3+10/2”变化而来呢?
这个问题下一篇解决。
后缀表达式: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/+”是如何通过算式“9+(3-1)*3+10/2”变化而来呢?
这个问题下一篇解决。
相关文章推荐
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 图解后缀表达式的计算过程
- 计算系统启动过程(详细)
- win8系统忘记BitLocker密码怎么办恢复过程图解
- caffe 计算过程
- vmware安装红旗Linux桌面6.0全过程图解
- Java实现:利用栈进行后缀表达式计算实例
- Turbolinux-7-Server拓林思服务器版光盘安装过程详细图解
- Linux安装图解全过程(Linux Text文本界面安装)
- View工作原理(三)视图大小计算过程(measure过程)
- 图解DHCP的4步租约过程
- 电子钱包交易过程中利用PSAM卡计算 TAC--交易验证码
- 以制表符分隔的TXT文件转换成Supermemo可直接导入的文本格式的过程图解
- VMware下Ubuntu10.0.4安装全过程(图解)
- Unity3D - 预计算过程 (Precomputed Process)