关注
求对应的中缀表达式,实际上就是将后缀表达式(也称为逆波兰表达式)转换为中缀表达式(波兰表达式)的过程。后缀表达式中的运算符位于与之相关的操作数之后,而中缀表达式中的运算符位于操作数之间。
给定的后缀表达式是 "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)"。
需要注意的是,这个转换过程假设表达式是有效的,并且操作数的顺序在转换过程中保持正确。如果有其他具体的格式要求,可能还需要添加括号以确保正确的运算顺序。
查看原帖
点赞 评论
相关推荐
码农索隆:投我投我,到时候我出一期拆箱帖,看看礼物是啥
点赞 评论 收藏
分享
10-19 12:41
成都工业学院 嵌入式软件开发
嵌入式的小白:简历关键的就是项目经历,你这密密麻麻的,我一点开就不想看了,每一条都不换行,而且每一个里面写那么多,需要精简一下,这样别人看一眼就能知道你做了啥,用了啥技术 点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 上班到公司第一件事做什么? #
111554次浏览 764人参与
# 工作两年想退休了 #
205685次浏览 1822人参与
# 七夕节你打算怎么过? #
69357次浏览 802人参与
# 运营面经 #
146326次浏览 1323人参与
# 参加过提前批的机械人,你们还参加秋招么 #
104001次浏览 1641人参与
# 如果公司降薪,你会跳槽吗? #
112716次浏览 729人参与
# 蚂蚁求职进展汇总 #
138993次浏览 1224人参与
# 运营商笔面经互助 #
189567次浏览 1795人参与
# 找工作能把i人逼成什么样 #
16965次浏览 192人参与
# 四大天坑是哪四家? #
91709次浏览 231人参与
# 网易求职进展汇总 #
169616次浏览 1414人参与
# 大厂面试初体验 #
84126次浏览 385人参与
# 什么样的公司千万别去 #
28625次浏览 151人参与
# 业务面应该做哪些准备 #
79533次浏览 814人参与
# 你今年做了几份实习? #
11553次浏览 168人参与
# 通信/硬件公司求职体验 #
178869次浏览 1025人参与
# 大学最后一个寒假,我想…… #
72771次浏览 730人参与
# 金三银四,你有感觉到吗 #
663582次浏览 6032人参与
# 大家每天通勤多久? #
64845次浏览 416人参与
# 一起聊华为 #
169511次浏览 826人参与