- 11
- 0
- 约1.82万字
- 约 21页
- 2019-09-03 发布于江西
- 举报
用两种方式实现表达式自动计算
- PAGE 20 -
一、设计思想
一.直接计算结果的设计思想:
此种算法最主要是用了两个栈:操作符栈和操作数栈,以及一个数组,用来存放用户输入的表达式。从数组中获取元素,如果是操作数,则直接进操作数栈,但如果获取的是操作符,则要分情况讨论,如下:(这里讨论优先级时暂不包括“(”和“)”的优先级)
1.如果获取的操作符a的优先级高于操作符栈栈顶元素b的优先级,则a直接入操作符栈;
2.如果获取的操作符a的优先级低于操作符栈栈顶元素b的优先级,则b出栈,a进栈,并且取出操作数栈的栈顶元素m,再取出操作数栈新的栈顶元素n,如果b为+,则用n+m,若为减号,则n-m,依此类推,并将所得结果入操作数栈;
3.如果获取的是“(”,则直接进操作符栈;
4.如果获取的是“)”,则操作符栈的栈顶元素出栈,做类似于情况2的计算,之后把计算结果入操作数栈,再取操作符栈顶元素,如果不是“(”,则出栈,重复操作,直到操作符栈顶元素为“(”,然后“(”出栈;
5.当表达式中的所有元素都入栈后,看操作符栈中是否还有元素,如果有,则做类似于情况2 的计算,并将结果存入操作数栈,则操作数栈中最终的栈顶元素就是所要求的结果。
二.中缀转后缀及对后缀表达式计算的设计思想:
中缀转后缀时主要用了一个操作符栈和两个数组(用数组一用来存用户输入的表达式,用数组二来存后缀表达式),从数组一中
您可能关注的文档
最近下载
- 两导两练高五年级上册数学苏教版.pdf VIP
- 《电机技术》课件(共九章).ppt VIP
- 2024版工程建设行业《工程预付款支付申请单(含进度付款申请、编制审核说明、进度款结算单)》模板.docx VIP
- (高清版)B-T 2099.1-2021 家用和类似用途插头插座 第1部分:通用要求.pdf VIP
- 学校教学教育述职报告范文5篇.docx VIP
- 无忧传媒合同.docx VIP
- 五年级课外阅读《欧洲民间故事》试题及答案.doc VIP
- 第一章 第一节 婴幼儿家园共育的基本概念 .pptx VIP
- 《病理学》传染病与寄生虫病-教学课件(非AI生成).ppt
- 七十岁驾照换证“三力测试”题库(含答案及解析).docx VIP
原创力文档

文档评论(0)