一、目的
了解中綴表達式求值的過程
了解中綴轉字尾表達式求值的過程
掌握堆棧的應用
二、問題描述
綴表達式,其中包含括号,加減乘除,乘方等運算,利用中綴表達式,對表達式分析并求值
入的中綴表達式轉換為字尾形式,顯示字尾形式,并通過字尾形式求值
三、資料結構
//運算符結構體
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,分别來存儲運算符和運算數。
參考文檔和完整的文檔和源碼下載下傳位址: