WWWlr

中缀表达式转后缀表达式

一、意义:

  中缀表达式易于人的理解

  后缀表达式易于计算机的理解、

二、三种转换方式:

  (1)基于堆栈:

    1.从左到右扫描每一个字符,如果字符为数字则直接输出。

    2.若字符为操作符,则按一下要求进行入栈和出栈。

      (1)若栈为空,则直接入栈。(eg:+)

      (2)若栈不为空,且入栈操作符优先级>栈出口处操作符,直接入栈

      (3)若栈不为空,且入栈操作符优先级<栈出口处操作符

         则需将出口处的操作符出栈,知道符合(2),再入栈。

    3.知道最后一个字符为止。

  (2)括号法:

    1.按照优先级将式子用括号括起来。

    2.前缀:把运算符号移动到对应的括号前面

    3.后缀:把运算符号移动到对应的括号后面

    4.再将括号去掉

  (3)利用语法数:

    画二叉树:

     结果:abc*+de*f+g *+

 

 

posted on 2021-03-15 15:38  WWWlr  阅读(58)  评论(0)    收藏  举报