一、目的
-
理解中缀表达式求值的过程
-
理解中缀转后缀表达式求值的过程
-
掌握堆栈的应用
二、问题描述
-
缀表达式,其中包含括号,加减乘除,乘方等运算,利用中缀表达式,对表达式分析并求值
-
入的中缀表达式转换为后缀形式,显示后缀形式,并通过后缀形式求值
三、数据结构
//运算符结构体typedef struct{char OPname; //存储运算符int inOP; //存储栈内级别int outOP; //存储栈外级别}OP;//定义运算数栈typedef struct{datatype data[MAXSIZE];int top;}SeqStack;//定义运算符栈typedef struct{char data[MAXSIZE];int top;}charStack;//----------------定义运算符数组-----------------//OP OPPree[OPNUM] ={{'+',3,2},{'-',3,2},{'*',5,4},{'/',5,4},{'^',7,6},{'(',1,8},{')',0,1},{'#',-1,-1}};
四、算法设计的思想描述
建立两个栈,一个为char类型栈OPTR,另一个为int类型栈OPND,分别来存储运算符和运算数。

本文介绍如何使用两个栈(运算符栈和运算数栈)将中缀表达式转换为后缀表达式,并进一步求值。文章详细阐述了所涉及的数据结构,包括运算符结构体和栈的定义。
1199

被折叠的 条评论
为什么被折叠?



