通过栈stack来计算后缀表达式的结果,看到最后,我相信你一定会有以外的收获~

思路:

遍历后缀表达式的字符:

  • 1.遍历到的是运算数时,直接入栈
  • 2.遍历到的是运算符时,连续出栈两次
  • 3.计算“第二次出栈的运算数 运算符 第一次出栈的运算数”得到A(例如:第二次出栈的运算数是 2, 第一次出栈的运算数 5 ;运算符是 +,那么就是 2 + 5)
  • 4.将A入栈,继续遍历
  • 5.遍历结束,弹出占中结果,即为最终结果

例子:

计算“2 3 + 1 5 2 + 7 / 3 - * -”的结果,对于“/”我们是将结果向下取整

  • 第一步:指正指向2,符合1
    在这里插入图片描述
  • 第二步:指正指向3,符合1
    在这里插入图片描述
  • 第三步:指针指向+,符合2,3,4
    在这里插入图片描述
  • 第四步:指针指向1,符合1
  • 第五步:指针指向5,符合1
  • 第六步:指针指向2,符合1
    在这里插入图片描述
  • 第七步:指针指向+,符合2, 3,4
    在这里插入图片描述
  • 第八步:指针指向7,符合1
    在这里插入图片描述
  • 第九步:指针指向/,符合2,3,4
    在这里插入图片描述
  • 第十步:指针指向3,符合1
    在这里插入图片描述
  • 第十一步:指针指向-,符合2, 3,4
    在这里插入图片描述
  • 第十二步:指针指向*,符合2, 3,4
    在这里插入图片描述
  • 第十三步:指针指向-,符合2, 3,4
    在这里插入图片描述
  • 第十四步:遍历结束,符合5
    在这里插入图片描述

补充:

一般情况下,不会要求我们直接进行计算后缀表达式的计算结果,而是会先让我们将中缀表达式转换成后缀表式【点击查看】,然后进行计算

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值