zoukankan      html  css  js  c++  java
  • 计算后缀表达式的过程(C#)

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

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

      假定待求值的后缀表达式为: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 

  • 相关阅读:
    七、阿里巴巴中文站商品信息如何存放
    四、为什么要使用NOSQL NOT ONLY SQL
    二、数据库架构发展历程
    十三、负载均衡
    三、MySQL的扩展性瓶颈
    一、秒杀架构设计
    数据库概述
    五、传统RDBMS VS NOSQL
    PHP框架开发:三、MVC设计模式及本框架的实现方式
    PHP Iterator的使用
  • 原文地址:https://www.cnblogs.com/finalanddistance/p/6999528.html
Copyright © 2011-2022 走看看