中缀表达式转后缀表达式以及计算

中缀表达式转后缀表达式:
    1. 如果是操作数,直接入后缀表达式队列
    2. 如果是操作符
        2.1. 如果操作符栈为空,直接入栈
        2.2. 如果操作符栈非空,将当前操作符和操作符栈顶元素优先级比较
        2.2.1. 当前元素优先级小于栈顶元素优先级,入栈
        2.2.2. 当前元素优先级大于等于栈顶元素优先级,弹出栈顶元素并入后缀表达式队列,
                  重复此操作直到满足条件 2.2.1. 或者栈空
    3. 表达式扫描完毕后如果操作符栈非空,出栈全部元素到后缀表达式队列

后缀表达式的计算:
    从左至右扫描后缀表达式队列
    1. 如果是操作数,入操作数栈
    2. 如果是操作符,从操作数栈中弹出两个元素a、b(a为后出,b为先出),根据相应
        的操作符进行运算并将结果压入操作数栈

        最后操作数栈中只剩一个元素即为所求

 

posted @ 2021-04-08 12:26  CTRN43062  阅读(163)  评论(0)    收藏  举报