后缀表达式转中缀表达式(非常简单易懂)

介绍

最近刷题,看到了很多后缀转中缀的题目,查了一些网上的教程,在这里做了一个简单详细的说明。关于中缀转后缀请看我的另外一篇博客。

后缀转中缀

举个例子~对于后缀表达式 A B C D − ∗ + E F / − ABCD-*+EF/- ABCD+EF/,它的中缀表达式该怎么求呢?其实很简单,下面将会一步一步讲解:

1、把后缀表达式逐个元素的压入到栈中,当压入的都是字符,则不采取任何操作,当压入的是运算符,则把运算符下面的两个数字弹出和运算符进行运算,然后把结果继续压入到栈中。
2、对后缀表达式中的所有元素执行该操作,直到结束。

A B C D − ∗ + E F / − ABCD-*+EF/- ABCD+EF/来说,首先把 A B C D ABCD ABCD逐渐压入到栈中,当再次压入 − - 的时候,这时候 − - 下面是 C D CD CD,那么执行 C − D C-D CD,并把结果 K 1 K_1 K1压入到栈中,这时栈里有 A B K 1 ABK_1 ABK1,继续把*压入到栈中,这时有 A B K 1 ∗ ABK_1* ABK1,此时执行操作 B ∗ K 1 B*K_1 BK1,设结果为 K 2 K_2 K2,把 K 2 K_2 K2压入到栈中,此时栈中有 A K 2 AK_2 AK2,继续向栈中压入 + + +,此时栈中有 A K 2 + AK_2+ AK2+,执行 A + K 2 A+K_2 A+K2,设结果为 K 3 K_3 K3,将 K 3 K_3 K3压入到栈中,此时栈中只有 K 3 K_3 K3了,继续往里压入EF/,此时栈中有 K 3 E F / K_3EF/ K3EF/,接着的操作和以上完全相同,所以最终的中缀计算过程为:

A + B ∗ ( C − D ) − E / F A+B*(C-D)-E/F A+B(CD)E/F

后缀转中缀就是这么简单~~~

  • 74
    点赞
  • 167
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值