- 5
- 0
- 约1.81万字
- 约 21页
- 2018-01-18 发布于河南
- 举报
数据结构两种方式实现表达式的计算
一、设计思想
一.直接计算结果的设计思想:
此种算法最主要是用了两个栈:操作符栈和操作数栈,以及一个数组,用来存放用户输入的表达式。从数组中获取元素,如果是操作数,则直接进操作数栈,但如果获取的是操作符,则要分情况讨论,如下:(这里讨论优先级时暂不包括“(”和“)”的优先级)
1.如果获取的操作符a的优先级高于操作符栈栈顶元素b的优先级,则a直接入操作符栈;
2.如果获取的操作符a的优先级低于操作符栈栈顶元素b的优先级,则b出栈,a进栈,并且取出操作数栈的栈顶元素m,再取出操作数栈新的栈顶元素n,如果b为+,则用n+m,若为减号,则n-m,依此类推,并将所得结果入操作数栈;
3.如果获取的是“(”,则直接进操作符栈;
4.如果获取的是“)”,则操作符栈的栈顶元素出栈,做类似于情况2的计算,之后把计算结果入操作数栈,再取操作符栈顶元素,如果不是“(”,则出栈,重复操作,直到操作符栈顶元素为“(”,然后“(”出栈;
5.当表达式中的所有元素都入栈后,看操作符栈中是否还有元素,如果有,则做类似于情况2 的计算,并将结果存入操作数栈,则操作数栈中最终的栈顶元素就是所要求的结果。
二.中缀转后缀及对后缀表达式计算的设计思想:
中缀转后缀时主要用了一个操作符栈和两个数组(用数组一用来存用户输入的表达式,用数组二来存后缀表达式),从数组一中依次获取元素,如果获取的是操作数,则直接存入数组二中,如
您可能关注的文档
最近下载
- 江苏2023高中学业水平合格性考试地理试卷真题(含答案详解).docx VIP
- 《汽车电工电子技术》课程实施报告.docx VIP
- 埃斯顿E21S 剪板机数控装置安装手册.pdf
- 规范《DLT342-2010额定电压66kV~220-kV交联聚乙烯绝缘电力电缆接头安装规程》.pdf VIP
- 期中复习(压轴30题精选)(原卷版).docx VIP
- (正式版)D-L∕T 342-2010 额定电压66kV~220kV交联聚乙烯绝缘电力电缆接头安装规程.docx VIP
- 2026年天津市河北区中考一模语文试题.pdf VIP
- 2026年九年级物理中考二轮复习 专题14 电和磁(题型专练).pdf VIP
- 2025_2026学年北京市海淀区清华大学附属中学七年级下学期期中考试数学检测试卷 [含解析].docx
- 公共营养师二级论文;上班族膳食营养与健康状况调查研究.pdf VIP
原创力文档

文档评论(0)