表达式树功能是把栈中存储一段四则运算弹出,重新构建原来的四则运算,例如(a+b)*(c*(d+e);在栈中可以存储为ab+cde+**;
表达式树的构造方式有前缀,中缀,后缀三种:
前缀:
中缀:
后缀:遇到一个操作数,创建一个单节点数,入栈;遇到一个操作符,以该操作符为根节点,从栈中弹出两个操作数,作为其左右节点,然后把根节点入栈(此时栈中不再有两个操作数),最后栈中只存有一个指向表达式树根节点;
表达式树功能是把栈中存储一段四则运算弹出,重新构建原来的四则运算,例如(a+b)*(c*(d+e);在栈中可以存储为ab+cde+**;
表达式树的构造方式有前缀,中缀,后缀三种:
前缀:
中缀:
后缀:遇到一个操作数,创建一个单节点数,入栈;遇到一个操作符,以该操作符为根节点,从栈中弹出两个操作数,作为其左右节点,然后把根节点入栈(此时栈中不再有两个操作数),最后栈中只存有一个指向表达式树根节点;