二叉树三种遍历的递归写法

由于递归写起来很简单,就三行,直接贴代码了

typedef struct BiTNode{
    int data;
    struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;

//前序递归输出
void preOrder_recs(BiTree T){
    if(T!=NULL){
        printf("%d ",T->data);
        preOrder_recs(T->lchild);
        preOrder_recs(T->rchild);
    }
}
//中序递归输出
void inOrder_recs(BiTree T){
    if(T!=NULL){
        inOrder_recs(T->lchild);
        printf("%d ",T->data);
        inOrder_recs(T->rchild);
    }
}
//后序递归输出
void postOrder_recs(BiTree T){
    if(T!=NULL){
        postOrder_recs(T->lchild);
        postOrder_recs(T->rchild);
        printf("%d ",T->data);
    }
}

猜你喜欢

转载自www.cnblogs.com/otaganyuki/p/9771561.html