数据结构中前缀表达式、中缀表达式、后缀表达式

前缀表达式:运算符位于操作数之前。

中缀表达式:运算符位于操作数中间。

后缀表达式:运算符位于操作数之后。


给出一个中缀表达式,要求转换成前缀表达式和后缀表达式。

例如:

给出一个中缀表达式:a+b*c-(d+e)
第一步:按照运算符的优先级对所有的运算单位加括号:式子变成了:((a+(b*c))-(d+e))
第二步:转换前缀与后缀表达式
前缀:把运算符号移动到对应的括号前面
则变成了:-( +(a *(bc)) +(de))
把括号去掉:-+a*bc+de 前缀表达式出现
后缀:把运算符号移动到对应的括号后面
则变成了:((a(bc)* )+ (de)+ )-
把括号去掉:abc*+de+- 后缀表达式出现。

又例如:

A+B*C-D/E为中缀表达式。

ABC*+DE/-为后缀表达式。

-+A*BC/DE为前缀表达式。


猜你喜欢

转载自blog.csdn.net/cnd2449294059/article/details/77991737
今日推荐