中缀表达式转换为后缀表达式

来源:互联网 发布:在windows上安装spark 编辑:程序博客网 时间:2024/05/17 03:32

所需数据类型:一个用来存储表达式的字符串数组,一个用来辅助表达式转换的

步骤如下:

(1)遇到操作数,直接输出;

(2)栈为空,遇到操作符,入栈;

(3)遇到左括号,入栈;

(4)遇到右括号:执行出栈操作,输出出栈元素,直到弹出栈的是左括号,左括号不输出;

(5)遇到运算符(加减乘除):弹出所有优先级大于等于该运算符的栈顶元素,然后将该运算符入栈;

(6)最后栈中元素依次出栈,输出。

相关解释:上面所说的输出指的是将元素存储至字符串或数组。

举例:

中缀表达式:a+b*c/d-(e-f*g)*h+i-j/k

转换后的后缀表达式: a bc* d/ + e fg* - h* - i+ jk/ -

0 0