按某种规则对二叉树的所有节点一一访问。
①前序遍历
访问根节点,按前序规则遍历左子树,按前序规则遍历右子树。
void Preorder(BTree T)
{if(T!=NULL)
{printf("%c",T->data);
Preorder(T->Lchild);
Preorder(T->Rchild);
}
}
②中序遍历
按中序规则遍历左子树,访问根结点,按中序规则遍历右子树。
void Inorder(BTree T)
{if(T!=NULL)
{Inorder(T->Lchild);
printf("%c",T->data);
Inorder(T->Rchild);
}
}
③后序遍历
按后序规则遍历左子树,按后序规则遍历右子树,访问根结点。
void Postorder(BTree T)
{if(T!=NULL)
{Postorder(T->Lchild);
Postorder(T->Rchild);
printf("%c",T->data);
}
}