利用堆栈将中缀表达式变为后缀表达式。将转换的步骤列表表示。
123 + 23*A/(C+5)
JAVA入门题目...晕晕
答案:3 悬赏:0 手机版
解决时间 2021-04-30 19:43
- 提问者网友:放下
- 2021-04-30 02:13
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-04-30 03:32
这题有些难度,不算入门吧。我可以先给出算法思想:
·当读到数字直接送至输出队列中
·当读到运算符t时,
a.将栈中所有优先级高于或等于t的运算符弹出,送到输出队列中;
b.t进栈
·读到左括号时总是将它压入栈中
·读到右括号时,将靠近栈顶的第一个左括号上面的运算符全部依次弹出,送至输出队列后,再丢弃左括号。
全部回答
- 1楼网友:酒者煙囻
- 2021-04-30 04:15
1,123进栈
2、+进栈
3、23进栈
4、×进栈
5、23出栈
6、计算23×A
7、23×Ajinz
8、/进栈
9、(进栈
10、C进栈
11、+
12、计算C+5进栈
13、遇见)23×A出栈
14计算23×A/(C+5)
15计算123 + 23*A/(C+5)
后缀表达式为:
123 23 A*C5+/+
- 2楼网友:何以畏孤独
- 2021-04-30 03:40
如果你看了后缀表达式应该知道,后缀表达式只能算小于10的数字,或者单个字母之间的运算吧?
要是想你这样的,就会混乱的。能不能把题出规范点?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯