实现原理:把得到的逆波兰式进行逐个压入栈中,如:ab+c*ab+e/- 首先把a当作一个节点压入栈S中,然后继续吧b压入栈S中,当遇到+时,先把b弹出作为+的右孩子,把a 弹出作为+的左孩子。然后把+作为a和b的根节点,这样就形成了一颗树。然后把+压入栈S中,依次重复向S1中压入即可。
最后把得到的二叉树进行后序遍历计算,后序遍历的时候每遇到一个操作符就把操作符的左孩子和右孩子进行相应的操作即可。
下面给出一种算法来把后缀表达式转变成
实现原理:把得到的逆波兰式进行逐个压入栈中,如:ab+c*ab+e/- 首先把a当作一个节点压入栈S中,然后继续吧b压入栈S中,当遇到+时,先把b弹出作为+的右孩子,把a 弹出作为+的左孩子。然后把+作为a和b的根节点,这样就形成了一颗树。然后把+压入栈S中,依次重复向S1中压入即可。
最后把得到的二叉树进行后序遍历计算,后序遍历的时候每遇到一个操作符就把操作符的左孩子和右孩子进行相应的操作即可。
下面给出一种算法来把后缀表达式转变成