中缀表达式转后缀表达式
一、意义:
中缀表达式易于人的理解
后缀表达式易于计算机的理解、
二、三种转换方式:
(1)基于堆栈:
1.从左到右扫描每一个字符,如果字符为数字则直接输出。
2.若字符为操作符,则按一下要求进行入栈和出栈。
(1)若栈为空,则直接入栈。(eg:+)
(2)若栈不为空,且入栈操作符优先级>栈出口处操作符,直接入栈
(3)若栈不为空,且入栈操作符优先级<栈出口处操作符
则需将出口处的操作符出栈,知道符合(2),再入栈。
3.知道最后一个字符为止。
(2)括号法:
1.按照优先级将式子用括号括起来。
2.前缀:把运算符号移动到对应的括号前面
3.后缀:把运算符号移动到对应的括号后面
4.再将括号去掉
(3)利用语法数:
画二叉树:
结果:abc*+de*f+g *+
浙公网安备 33010602011771号