关注
求对应的中缀表达式,实际上就是将后缀表达式(也称为逆波兰表达式)转换为中缀表达式(波兰表达式)的过程。后缀表达式中的运算符位于与之相关的操作数之后,而中缀表达式中的运算符位于操作数之间。
给定的后缀表达式是 "abcd+*e*",下面是转换步骤:
1. 从左到右扫描表达式。
2. 当遇到操作数时,将其放入栈中。
3. 当遇到运算符时,从栈中弹出两个操作数(因为大多数运算符是二元的),将运算符放在这两个操作数之间形成一个新的中缀表达式,然后将该新表达式压入栈中。
按照这个步骤,我们可以这样转换:
- 扫描到 'a',入栈。
- 扫描到 'b',入栈。
- 扫描到 'c',入栈。
- 扫描到 'd',入栈。
- 扫描到 '+',弹出 'd' 和 'c',组成 "(c+d)",压入栈中。
- 扫描到 '*',弹出 "(c+d)" 和 'b',组成 "((c+d)*b)",压入栈中。
- 扫描到 '*',弹出 "((c+d)*b)" 和 'a',组成 "a*((c+d)*b)",压入栈中。
- 扫描到 'e',入栈。
- 扫描到 '*',弹出 "a*((c+d)*b)" 和 'e',组成 "e*a*((c+d)*b)",压入栈中。
最终,栈中的元素即为转换后的中缀表达式:"e*a*((c+d)*b)"。
需要注意的是,这个转换过程假设表达式是有效的,并且操作数的顺序在转换过程中保持正确。如果有其他具体的格式要求,可能还需要添加括号以确保正确的运算顺序。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
05-29 13:37
北京科技大学 算法工程师 认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的
开发你这个也没有项目啊
点赞 评论 收藏
分享
爱笑的Va学弟:我在小小厂实习了四天,昨天下班突然也被裁了,鼠鼠已经碎了
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
14041次浏览 186人参与
# 面试官是我前女友 #
107058次浏览 731人参与
# 实习生的蛐蛐区 #
40535次浏览 329人参与
# 当你面对裁员会如何? #
275986次浏览 2438人参与
# 计算机有哪些岗位值得去? #
13050次浏览 134人参与
# lastday知无不言 #
56919次浏览 460人参与
# 在职场上,你最讨厌什么样的同事 #
14515次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
14040次浏览 97人参与
# 说说你知道的学历厂 #
28475次浏览 178人参与
# 你找工作的时候用AI吗? #
15015次浏览 193人参与
# 下班后的时间你怎么安排 #
7558次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7312次浏览 167人参与
# 携程求职进展汇总 #
559479次浏览 4258人参与
# 面试尴尬现场 #
24083次浏览 164人参与
# 工作后会跟朋友渐行渐远吗 #
30080次浏览 216人参与
# 中核求职进展汇总 #
20165次浏览 152人参与
# 社会教会你的第一课 #
29557次浏览 396人参与
# 多益网络工作体验 #
49694次浏览 280人参与
# 虾皮求职进展汇总 #
244214次浏览 1797人参与
# 神州信息工作体验 #
16060次浏览 75人参与