二叉树的先序、中序、后序递归遍历算法

void PreOrder(PBinTree T)   //先序
{
    if (!T) return;
    printf("%c ", T->data);
    PreOrder(T->lchild);
    PreOrder(T->rchild);
}
void InOrder(PBinTree T)    //中序
{
    if (!T) return;
    InOrder(T->lchild);
    printf("%c ", T->data);

    InOrder(T->rchild);
}
void PostOrder(PBinTree T)  //后序
{
    if (!T) return;
    PostOrder(T->lchild);
    PostOrder(T->rchild);
    printf("%c ", T->data);
}

可以看到只是把打印结点的时机不一样

你可能感兴趣的:(算法)