1、把下列的后缀和前缀表达式转换为相应的中缀表达式@H_404_5@
AB*C-D+@H_404_5@
ABC+*D-@H_404_5@
+-*ABCD@H_404_5@
2、利用栈把下列中缀表达式转换为后缀表达式和前缀表达式@H_404_5@
D-B+C@H_404_5@
A*B+C*D@H_404_5@
(A+B)*C-D*F+C@H_404_5@
@H_404_5@
**利用栈将中缀表达式转换为前缀表达式算法@H_404_5@
1)求输入串的逆序@H_404_5@
2)检查输入的下一个元素@H_404_5@
4)假如是闭括号,将它压栈@H_404_5@
5)假如是运算符,则:@H_404_5@
i)假如是栈空,此运算符入栈@H_404_5@
ii)假如栈顶是闭括号,此运算符入栈@H_404_5@
iii)假如它的优先级高于或者是等于栈顶运算符,此运算符入栈@H_404_5@
iv)否则,栈顶运算符出栈并添加到输出串中,重复步骤5@H_404_5@
6)假如是开括号,栈中运算符逐个输出,直到遇到闭括号。闭括号出栈并丢弃@H_404_5@
7)假如输入还没有完毕,跳到步骤2@H_404_5@
8)假如输入完毕,栈中剩余的所有操作符出栈并加到输出串中@H_404_5@
@H_404_5@
@H_404_5@
**利用栈将中缀表达式转换为后缀表达式算法@H_404_5@
1)检查输入的下一个元素@H_404_5@
3)假如是闭括号,将它压栈@H_404_5@
4)假如是运算符,则:@H_404_5@
i)假如是栈空,此运算符入栈@H_404_5@
ii)假如栈顶是闭括号,此运算符入栈@H_404_5@
iii)假如它的优先级高于栈顶运算符,此运算符入栈@H_404_5@
iv)否则,栈顶运算符出栈并添加到输出串中,重复步骤4@H_404_5@
5)假如是开括号,栈中运算符逐个输出,直到遇到闭括号。闭括号出栈并丢弃@H_404_5@
6)假如输入还没有完毕,跳到步骤2@H_404_5@