文章目录
- 中缀表达式转前缀表达式
- 总结
- 参考链接
中缀表达式转前缀表达式
前缀表达式,又称波兰表达式,是一种编写算术表达式的方法,其中运算符位于操作数之前。
下面给出一种中缀表达式转前缀表达式的方法,利用辅助栈。
其规责如下:
-
从右往左扫描中缀表达式
-
遇见操作数直接输出
-
遇见运算符时
– 若该运算符比栈顶运算符的优先级高,则直接入栈
– 若该运算符比栈顶运算符的优先级低,则弹出栈顶运算符,直到该运算符的优先级高于栈顶运算符时,将该运算符入栈 -
遇见括号时
– 若是右括号,则直接入栈
– 若是左括号,将栈顶元素弹出,
– 左右括号不会输出 -
当从右往左扫描完表达式后,若栈中仍有运算符,则将这些运算符依次弹出,添加到输出队列的尾端
-
最后将输出队列反转,就是要得到的前缀表达式。
提供一个示例如下:
总结
这次对中缀与前缀之间的转换做了说明,有机会的话也会将其它几种做以陈述。
参考链接
- https://blog.csdn.net/walkerkalr/article/details/22798365