//二叉树
typedef struct BitNode
{
int data;
BitNode *lChild,*rChild;
}BitNode,*BitTree;
//先序遍历
void PreOrder(BitTree root)
{
if(root != NULL){
cout << root->data << endl;//先访问根结点
PreOrder(root->lChild);//再访问根结点的左子树
PreOrder(root->rChild);//最后访问根结点的右子树
}
}
//中序遍历
void InOrder(BitTree root)
{
if(root != NULL){
InOrder(root->lChild);//先访问根结点的左子树
cout << root->data<<endl;//再访问根节点
InOrder(root->rChild);//最后访问根结点的右子树
}
}
//后序遍历
void PostOrder(BitTree root)
{
if(root != NULL){
PostOrder(root->lChild);//先访问根的左子树
PostOrder(root->rChild);//再访问根的右子树
cout << root->data<<endl;//最后访问根结点
}
}