图解后缀表达式的计算过程

为了解释后缀表达式的好处,我们先来看看,计算机如何应用后缀表达式计算出最终的结果20的。后缀表达式:9 3 1-3*+ 10 2/+规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。下面是详细的步骤:1. 初始化一个空栈。此桟用来对要运算的数字进出使用。

大家好,又见面了,我是全栈君。

为了解释后缀表达式的好处,我们先来看看,计算机如何应用后缀表达式计算出最终的结果20的。

后缀表达式:9 3 1-3*+ 10 2/+

  • 规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。

下面是详细的步骤:

1. 初始化一个空。此桟用来对要运算的数字进出使用。

2. 后缀表达式中前三个都是数字,所以9、3、1进栈。

图解后缀表达式的计算过程

3. 接下来是减号“-”,所以将栈中的1出栈作为减数,3出栈作为被减数,并运算3-1得到2,再将2进栈。

4. 接着是数字3进栈。

图解后缀表达式的计算过程

5. 后面是乘法“*”,也就意味着栈中3和2出栈,2与3相乘,得到6,并将6进栈。

6. 下面是加法“+”,所以找中6和9出找,9与6相加,得到15,将15进栈。

图解后缀表达式的计算过程

7. 接着是10与2两数字进栈。

8. 接下来是符号因此,栈顶的2与10出栈,10与2相除,得到5,将5进栈。

图解后缀表达式的计算过程

9. 最后一个是符号“+”,所以15与5出找并相加,得到20,将20进栈。

10. 结果是20出栈,栈变为空。

图解后缀表达式的计算过程
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121483.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月9日 上午6:00
下一篇 2022年3月9日 上午6:00


相关推荐

  • ISO七层模型

    ISO七层模型物理层 OSI 模型的最低层或第一层 该层包括物理连网媒介 如电缆连线连接器 物理层的协议产生并检测电压以便发送和接收携带数据的信号 在你的桌面 PC 上插入网络接口卡 你就建立了计算机连网的基础 换言之 你提供了一个物理层 尽管物理层不提供纠错服务 但它能够设定数据传输速率并监测数据出错率 网络物理问题 如电线断开 将影响物理层 用户要传递信息就要利用一些物理媒体 如双绞线 同轴

    2026年3月19日
    3
  • C++ atof函数

    C++ atof函数atof 函数 功能 将字串转换成浮点型数相关函数 atoi atol strtod strtol strtoul 表头文件 include 定义函数 doubleatof constchar nptr 函数说明 nbsp nbsp nbsp nbsp nbsp nbsp atof 会扫描参数 nptr 字符串 跳过前面的空格字符 直到遇上数字或正负符号才开始做转换 而再遇到非数字或

    2026年3月9日
    2
  • 6种常见的测试用例设计方法及应用_测试用例设计的方法

    6种常见的测试用例设计方法及应用_测试用例设计的方法测试前准备作为一个测试人员,软件测试的流程首先是要非常熟悉的,何时何地都能脱口而出,避免一切翻车的可能。需要注意的是流程没有唯一答案,具体由项目决定。所以给出的只是一个还算通用的参考流程。  我们要熟知的测试流程:  总结一下:在测试流程中,有6个部分,其中3个部分涉及到了用例,可见写好用例的重要性。  所以,结合这些年吃过的亏,我来给大家缕缕,如何快速的get到测试用例的设计方法。  5种常见的测试用例设计方法  一、等价类划分  1)概念  某个输入域的集合,在这个集合中每个输入条件都是

    2022年10月9日
    4
  • process information unavailable

    process information unavailable今天在虚拟机kill进程的时候出现了processinformationunavailable出现这个问题的原因呢?其实很简单,就是你用A用户创建了一个进程,然后你用B用户把他干掉了,虽然是干掉了,但是查看的时候会出现这个该怎么解决呢?首先我们进入到tmp目录下,用ls查看,你会发现有几个以hsperfdata_开头的文件然后你点进去看的时候就知道那个进程是哪个用…

    2025年12月3日
    5
  • 芯片厂商现场演示本地“养龙虾”,人机共生正在预演 |直击AWE 2026

    芯片厂商现场演示本地“养龙虾”,人机共生正在预演 |直击AWE 2026

    2026年3月14日
    2
  • ThreadStart和ParameterizedThreadStart区别「建议收藏」

    ThreadStart和ParameterizedThreadStart区别「建议收藏」ThreadStart:ThreadStart这个委托定义为voidThreadStart(),也就是说,所执行的方法不能有参数。ThreadStartthreadStart=newThread

    2022年7月1日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号