【数据结构】中缀表达式|后缀表达式|前缀表达式
1、把下列的后缀和前缀表达式转换为相应的中缀表达式 AB*C-D+ ABC+*D- +-*ABCD 2、利用栈把下列中缀表达式转换为后缀表达式和前缀表达式 D-B+C A*B+C*D (A+B)*C-D*F+C
**利用栈将中缀表达式转换为前缀表达式算法 1)求输入串的逆序 2)检查输入的下一个元素 3)假如是操作数,把它添加到输出串中 4)假如是闭括号,将它压栈 5)假如是运算符,则: i)假如是栈空,此运算符入栈 ii)假如栈顶是闭括号,此运算符入栈 iii)假如它的优先级高于或者是等于栈顶运算符,此运算符入栈 iv)否则,栈顶运算符出栈并添加到输出串中,重复步骤5 6)假如是开括号,栈中运算符逐个输出,直到遇到闭括号。闭括号出栈并丢弃 7)假如输入还没有完毕,跳到步骤2 8)假如输入完毕,栈中剩余的所有操作符出栈并加到输出串中 9)求输出串的逆序
**利用栈将中缀表达式转换为后缀表达式算法 1)检查输入的下一个元素 2)假如是操作数,把它添加到输出串中 3)假如是闭括号,将它压栈 4)假如是运算符,则: i)假如是栈空,此运算符入栈 ii)假如栈顶是闭括号,此运算符入栈 iii)假如它的优先级高于栈顶运算符,此运算符入栈 iv)否则,栈顶运算符出栈并添加到输出串中,重复步骤4 5)假如是开括号,栈中运算符逐个输出,直到遇到闭括号。闭括号出栈并丢弃 6)假如输入还没有完毕,跳到步骤2 7)假如输入完毕,栈中剩余的所有操作符出栈并加到输出串中 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |