一、实验目的 1、掌握顺序栈的类型定义方法。 2、掌握在顺序栈上实现的六种基本算法。 2、掌握顺序栈的简单应用。 二、 实验内容 1、实现一个栈数据结构。 2、利用栈实现中缀表达式与前缀表达式的转换。 三、相关内容介绍 标准的表达式如"A+B",在数学上学名叫中缀表达式(Infix Notation),原因是运算符号在两个运算对象的中间。相对应的还有前缀表达式(Prefix Notation),如:"+ - A * B C D",转换成中缀表达式为:"A - B * C + D";后缀表达式 (Postfix Notation),比如前所述的中缀表达式转换为后缀表达式为:"A B C * - D +"。 四、实例 中缀:a+b*c-(d+e) 后缀:((a(bc)* )+ (de)+ )- 把括号去掉:abc*+de+- 前缀:-( +(a *(bc)) +(de)) 把括号去掉:-+a*bc+de
1
表达式是数据运算的基本形式。人们的书写习惯是中缀式,如:11+22*(7-4)/3。中缀式的计算按运算符的优先级及括号优先的原则,相同级别从左到右进行计算。表达式还有后缀式(如:22 7 4 - * 3 / 11+)和前缀式(如:+ 11 / 22 - 7 4 3)。后缀表达式和前缀表达式中没有括号吗,给计算带来方便。如后缀式计算时按运算符出现的先后顺序进行计算。本设计的主要任务是进行表达式形式的转换及不同形式的表达式计算。
2021-11-16 13:47:55 137KB 数据结构设计
1
·问题描述 表达式2*(9+6/3-5)+4,称为中缀表达式,表示成2 9 6 3 / + 5 - * 4 +称为后缀表达式,表示成+ * 2 - + 9 / 6 3 5 4称为前缀表达式。 ·基本要求 将中缀表达式,转换为后缀表达式和前缀表达式,再分别计算转换后的表达式值,比较两个计算结果,判断转换正确性和计算正确性。 ·编程 (1)读入中缀表达式,表达式的数据可以是实型、整型; (2)转换为后缀表达式,输出和保存; (3)转换为前缀表达式,输出和保存; (4)完成后缀和前缀表达式的计算,输出和比较计算结果,判断处理的正确性; ·输出要求与格式 按字符串格式输入中缀表达式,如2.85*(9.3+6.4/2-5.13)+4.412 ·输出要求与格式 输出转换后的后缀、前缀表达式; 完成计算,输出计算结果,和比较结论;
2019-12-21 20:02:25 849KB 中缀表达式 数据结构 前缀表达式
1