minecraftpe电路吧 关注:2,290贴子:26,550

【教程】本吧首发:连猴子都能看得懂的表达式计算器教程

只看楼主收藏回复

由于ios平台的限制,lz就不把这玩意做出来了(实在太大了)仅仅是理论而已。


来自iPhone客户端1楼2016-06-16 08:17回复
    禁止转载
    本教程为楼主纯手码


    来自iPhone客户端2楼2016-06-16 08:18
    收起回复
      下面开始


      来自iPhone客户端3楼2016-06-16 08:19
      回复
        step1.中缀表达式转后缀表达式(逆波兰式)↴
        将中缀表达式转换为后缀表达式应遵循以下原则;
        原则1:从中缀表达式的最左端逐一扫描表达式,若扫描时出现数字,则将该数字加入后缀表达式。
        原则2:若扫描时出现(,则将(压入堆栈。
        原则3:若扫描时出现),则从栈顶开始将栈内的运算符逐一删除并加入后缀表达式中,直至删除一个(为止。
        原则4:若扫描时出现运算符(括号除外),则将该运算符的优先级和当前栈顶元素的优先级进行对比,若该运算符的优先级高于除括号外栈定元素的优先级,则将该运算符直接压入堆栈,否则从栈顶开始逐一删除比当前运算符优先级更高或优先级相等的运算符并加入后缀表达式,直至遇到一个比当前运算符优先级更低的运算符为止,并将当前运算符压入堆栈。
        原则5:扫描结束时将栈内的所有元素删除,并依次加入后缀表达式。


        来自iPhone客户端4楼2016-06-16 08:19
        回复
          正在码字,稍等


          来自iPhone客户端5楼2016-06-16 11:37
          回复
            step2.不考虑优先级进行后缀表达式(逆波兰式)求值↴
            步骤1:从后缀表达式的最左端起逐一扫描表达式,若扫描时出现数字,则将该数字压入堆栈。
            步骤2:若扫描时出现运算符,则将靠近栈顶的两个元素出栈,从右到左排列并运算,运算完毕后将结果再次压入堆栈。
            步骤三:重复步骤1,2,直到将后缀表达式扫描完毕,此时栈底的元素即为运算结果。
            ———————完结
            by百度贴吧@至尊胖鱼


            来自iPhone客户端6楼2016-06-16 11:57
            回复
              补充:楼下会举实例(附图)进行演算。


              来自iPhone客户端7楼2016-06-16 11:58
              回复
                围观


                IP属地:广东来自Android客户端9楼2016-06-16 12:23
                回复
                  顶顶


                  IP属地:山东来自Android客户端10楼2016-06-16 12:25
                  回复
                    顶!


                    IP属地:广东来自iPhone客户端11楼2016-06-16 12:28
                    回复
                      帮顶,来学习下


                      来自Android客户端12楼2016-06-16 12:28
                      回复
                        欢迎收看【别的吧看不懂系列】


                        星座王
                        点亮12星座印记,去领取
                        活动截止:2100-01-01
                        去徽章馆》
                        IP属地:浙江来自iPhone客户端13楼2016-06-16 16:19
                        回复
                          完了我看不懂


                          IP属地:陕西来自Android客户端14楼2016-06-16 18:38
                          回复
                            牛掰233


                            IP属地:浙江来自iPhone客户端15楼2016-06-16 19:01
                            回复
                              噫!


                              来自iPhone客户端16楼2016-06-16 20:20
                              回复