本文最后更新于-1天前,其中的信息可能已经过时,如有错误请发送邮件到2392862431@qq.com
最近也是再次复习到了数据结构的栈的应用部分,发现这里还有一个知识点没掌握,所以这里好好学了一下,在这里总结一下,方便下次忘了可以复习。
中缀表达式转为后缀表达式,也许直接通过加括号法可以很简单的完成转换,但是这比较适合在选择题,而且一旦题目问转换过程,这就无法解决了,所以这里要会另一种分析方法,就是使用栈来分析,但是王道书上的分析过程太麻烦了,都没怎么好好讲,有点一眼看过去就不想看了。

我学到了了一种更为简便的方法。

上面是转换过程中要遵循的基本原则。
接下来举一个栗子,首先看一下中缀表达式的第一位是个数字,所以直接写入表达式中。

然后扫描到+号,因为符号栈为空所以直接压入栈中。

然后扫描到左括号,直接入栈

然后是数字3直接加入表达式

扫描到减号,减号优先级比括号大所以可以直接压入栈中

此时扫描到右括号,直接入栈,但是此时需要括号匹配,将最近的左括号与右括号中间的全部符号取出,括号匹配后直接就跑了,然后括号中间的符号加入表达式。


后续的操作基本一致了,就不一一赘述了










