假设栈初始为空,将中缀表达式 a/b+(c∗d−e∗f)/g 转换为等价的后缀表达式的过程中,当扫描到 f 时,栈中的元素依次是( )。
A. +(∗−
B. +(−∗
C. /+(∗−∗
D. /+−∗
方法一:模拟
本题考察中缀表...
用户登录可进行刷题及查看答案
本题考察中缀表达式转后缀表达式,需要利用栈作为辅助。
没有必要扫描完整个表达式,只需要扫描到 f 即可,过程模拟如下:
本题选B。
方法二:观察表达式
其实我们没有必要老老实实模拟整个流程,只需要观察中缀表达式即可, a/b+(c∗d−e∗f)/g 扫描到 f 时,此时 f 还没有被输出,观察前面与 f 相关的操作,也是没有能够输出的操作,这些操作都暂存在栈中,依次为 +(−∗ ,越靠近栈顶的优先级越高,显然在括号中 ∗ 比 − 的优先级高,栈顶的是 ∗ 。
登录后提交答案
暂无评论,来抢沙发