数据结构——二叉树的遍历代码实现

//二叉树
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;//最后访问根结点
    }
}

 

发布了28 篇原创文章 · 获赞 4 · 访问量 7385

猜你喜欢

转载自blog.csdn.net/JuicyActiveGilbert/article/details/100632410