输入为一个前缀表达式,输出其中辍表达式,并加上括号,然后对其值进行计算,对其中的变量进行赋值,然后计算。
对于输入的表达式,首先要还原二叉树,首先要明白,前缀表达式的获得方式,表达式中是用运算符做结点,然后构建出的二叉树,通过先序遍历的方式获得的,所以根据这一规律,还原出二叉树的状态,然后在对其进行中序遍历得到表达式
const char opr[] = {'+', '-', '*', '/', '^'};
int tree[2*MAXNUM];
int str_loc;
用来判断表达式中出现的运算符
void ReadExpr(int tree_loc) {
if (exp[str_loc] == '\n')
return;
if (tree_loc > MAXN) {
MAXN = tree_loc;
}
int i = 0;
int flag = 0;
// 判断是否为算术符
for (i = 0; i < 5; i++) {
if (