中缀表达式转后缀表达式

简介

中缀表达式

就是我们日常所使用的表达式
a+b*c+(d*e+f)*g

后缀表达式

更加的线性,更容易被机器所理解
对应上面
abc * + de * f + g * +

思想

  • 从输入中循环遍历每一个字符
    • 非运算符(数字)直接输出
    • 运算符做如处理
      • 若栈为空
        • 遇到普通运算符{+ - * /},若栈顶元素优先级>=即将入栈的运算符(还未入栈)且栈部位空,
          弹出并输出栈顶元素,知道条件不满足,则将为入栈的运算符压入栈中
        • 遇到做括号( ,直接压入栈中,压入后除非遇到右括号,否则不弹出。
        • 遇到右括号),弹出并输出栈顶元素,知道遇到栈中的做括号( 左括号只弹出不输出
  • 循环结束,将栈中的元素全部弹出并输出即可。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容