计算后缀表达式的过程是一个很好玩的过程,而且很简单哦!这里呢,有个计算的技巧,就是:遇到数字直接入栈,遇到运算符就计算!

  后缀表达式也叫逆波兰表达式,求值过程可以用到栈来辅助存储;

  假定待求值的后缀表达式为:12  4  +  13  -  6  2  *  +  =

  求计算出最终结果:

(1)首先我们看到在第一个运算符之前呢,有两个数字,那么我们就先把它放入栈中:

注:我们可以看到,下标是从下方开始读的,一定要注意哦,不要弄反了!!!

(2)读到“+”,则弹出12和4,执行相加,12+4,=16,并把16放进栈中:(先弹12,再弹4,顺序不能弄错了!!)

(3)读到数字“13”,则直接把13放入栈内:

(4)读到运算符“-”,则弹出16和13,执行相减,那么16-13=3,并把3放入到栈中:

注:在这里我们可以看到,如果我们把弹出的顺序弄反了,那么得到的数字就会完全不同,那后面的结算也会完全不一样,所以,弹出的顺序不能弄反了!!!

(5)读到数字“6”,直接入栈:

(6)读到数字“2”,直接入栈:

(7)读到运算符“*”,弹出6和2,执行相乘,6*2=12,并把12放入到栈中:

(8)读到运算符“+”,则弹出3和12,执行相加,3+12=15,并把15放入栈中:

(9)到了这里,我们已经把后缀表达式都已经执行了一遍,那么得到的最后结果为15,故:

  12  4  +  13  -  6  2  *  +  =  15

这就是运算过程,是不是很简单!!!

                                                                  END

最新文章

  1. 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御
  2. buaaoj230——next_permutation的应用
  3. c#中的static
  4. 内核参数优化/etc/sysctl.conf
  5. 利用Anaconda安装python后,如何安装opencv-python
  6. [Python笔记]第三篇:深浅拷贝、函数
  7. RR模式下的事务隔离
  8. PHP配置安全小技巧
  9. 使用MBROSTool 工具制作U盘多启动盘的方法总结
  10. 【windows】 配置一个本地的tomcat服务器
  11. Mocha+should+Karma自动化测试教程
  12. 模块(modue)和包(package)的概念-import导入模块
  13. Game Engine Architecture 5
  14. SpringBoot项目获取ApplicationContext来GetBean的方法
  15. Vim文档编辑
  16. ARM内核版本号和SOC版本号
  17. android资源文件
  18. javascript方法--bind()
  19. vue 3D小球 loading
  20. 03-03:springBoot 整合thymeleaf

热门文章

  1. vue.js 基础
  2. xpath的基础使用
  3. mariaDB 远程连接不上
  4. POI 读大文件日志
  5. nginx 资源重定向
  6. npm常用技巧
  7. JavaSE---接口
  8. Hibernate通过自编写Sql修改
  9. Silverlight 用DependencyProperty 自定义ImageButton控件 定义属性
  10. c3p0 数据连接池 流行开源