【数据结构】中缀表达式|后缀表达式|前缀表达式

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)假如输入完毕,栈中剩余的所有操作符出栈并加到输出串中






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值