标签:遍历 出栈 指向 后缀 符合 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
补充:
一步情况下,不会要求我们直接进行计算后缀表达式的计算结果,而是会先让我们将中缀表达式转换成后缀表式【点击查看】,然后进行计算
标签:遍历,出栈,指向,后缀,符合,stack,表达式,指针 来源: https://blog.csdn.net/m0_45067620/article/details/117060555
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。