美文网首页
各种表达式之间的转换(手工)

各种表达式之间的转换(手工)

作者: sakura579 | 来源:发表于2020-08-22 00:00 被阅读0次

    根据运算符的位置



    把a,b 不看作操作数,看作表达式

    把中缀表达式 转换为 前缀表达式


    把要转换的表达式 每一个子表达式 都用括号括起来,把运算符提到括号前面,最后删除所有括号

    所加的括号不能影响原来的运算顺序


    每对括号内都可以看成 表达式a 运算符 表达式b 这种形式

    把每对括号内的运算符提到前面

    把所有括号删掉


    中缀表达式转为后缀表达式
    转换方法一样 不同的是把运算符拿到后面





    无论是原本就有的括号 还是后加的括号
    最后得到的前缀/后缀表达式 都没有括号的
    那么为什么可以丢到括号


    对于一个中缀表达式,通过加括号 导致了不同的运算次序,
    但是每一种运算次序都有其唯一的前缀/后缀表达式 与其对应

    也就是说 对于不同的运算次序,我们只需要用不同的后缀/前缀表达式就可以表达 没必要在同一个后缀表达式上 加什么括号,来让其产生不同的运算次序

    后缀转中缀


    从左往右扫,两个表达式后面跟一个运算符 就用括号括起来并把运算符放在表达式的中间 ,而形成一个新的表达式 然后继续扫描下去







    后面跟着两个表达式,但我们要的是两个表达式紧跟一个运算符







    去掉多余的括号



    后缀转前缀

    从左往右,发现两个表达式紧跟一个运算符时 把它括起来 把运算符放在表达式的前面

    去掉括号


    相关文章

      网友评论

          本文标题:各种表达式之间的转换(手工)

          本文链接:https://www.haomeiwen.com/subject/evmujktx.html