关注
求对应的中缀表达式,实际上就是将后缀表达式(也称为逆波兰表达式)转换为中缀表达式(波兰表达式)的过程。后缀表达式中的运算符位于与之相关的操作数之后,而中缀表达式中的运算符位于操作数之间。
给定的后缀表达式是 "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)"。
需要注意的是,这个转换过程假设表达式是有效的,并且操作数的顺序在转换过程中保持正确。如果有其他具体的格式要求,可能还需要添加括号以确保正确的运算顺序。
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 你的实习产出是真实的还是包装的? #
19612次浏览 341人参与
# 中国电信笔试 #
31495次浏览 284人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
14732次浏览 217人参与
# 春招至今,你的战绩如何? #
62950次浏览 571人参与
# 如果秋招能重来,我会____ #
96844次浏览 500人参与
# 一张图晒出你司的标语 #
4107次浏览 74人参与
# 厦门银行科技岗值不值得投 #
7756次浏览 186人参与
# i人适合做什么工作 #
37061次浏览 124人参与
# 我是面试官,请用一句话让我破防 #
79656次浏览 219人参与
# 金三银四,你的春招进行到哪个阶段了? #
21895次浏览 280人参与
# 哪些公司真双非友好? #
69461次浏览 287人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
340427次浏览 2170人参与
# AI面会问哪些问题? #
26744次浏览 536人参与
# 找AI工作可以去哪些公司? #
8522次浏览 217人参与
# 从事AI岗需要掌握哪些技术栈? #
8428次浏览 282人参与
# 面试尴尬现场 #
220908次浏览 861人参与
# 五一之后,实习真的很难找吗? #
102859次浏览 584人参与
# 你做过最难的笔试是哪家公司 #
32088次浏览 215人参与
# 应届生第一份工资要多少合适 #
20613次浏览 86人参与
# 聊聊你的职场新体验 #
336286次浏览 1894人参与
# 你小时候最想从事什么职业 #
159941次浏览 2072人参与
# 阿里笔试 #
177779次浏览 1307人参与