实现二叉树的后序遍历,不用递归,简单的有两种方法。
方法一是通过在树节点设置一个标记,通过访问次数的标记Visit(初始化为0)来判断输出。
void PostOrderTraversal(BinTree BT)
{
Stack S = CreateStack();
BinTree T = BT;
while(T || !IsEmpty(S)){
T->visit++;
Push(S,T); //第一次入栈,不访问
T = T->Left; //转向左子树
}
if(IsEmpty(S){
T= Pop(S);
if(T