zoukankan      html  css  js  c++  java
  • 表达式树—中缀表达式转换成后缀表达式(一)

    前缀、中缀、后缀表达式的转换举例

    • 前缀表达式:/+A*BCD。
    • 中缀表达式:A+B*C/D。
    • 后缀表达式:ABC*+D/。

    中缀表达式转换后缀表达式算法

    1. 将栈初始化为空栈;
    2. 从左到右扫描表达式的每一个字符,执行下面操作:

        2.1  遇到操作数:直接输出(添加到后缀表达式中)

        2.2  栈为空时,遇到运算符,直接入栈

        2.3  遇到左括号:将其入栈

        2.4  遇到右括号:执行出栈操作,并将出栈的元素输出,直到弹出栈的是左括号,左括号不输出。

        2.5  遇到其他运算符:加减乘除:弹出所有优先级大于或者等于该运算符的栈顶元素,然后将该运算符入栈

        2.6  最终将栈中的元素依次出栈,输出。

      例如:(A+B*C)/D

      

    参考:http://www.cnblogs.com/mygmh/archive/2012/10/06/2713362.html

  • 相关阅读:
    LeetCode#191 Number of 1 Bits
    敏捷编程
    过程模型
    磁盘阵列
    RAM和ROM
    cache
    局部性原理
    栈的应用(一)——括号的匹配
    猫狗收养问题
    全局变量和局部变量
  • 原文地址:https://www.cnblogs.com/qiuyong/p/6790290.html
Copyright © 2011-2022 走看看