回 帖 发 新 帖 刷新版面

主题:一道练习题

编写递归算法将二叉树销毁
求帮忙,谢谢

回复列表 (共1个回复)

沙发

typedef char TElemType;

typedef struct BiTNode
{
    TElemType data;
    BiTNode *lchild,*rchild; // [color=0000FF]左右孩子指针[/color]
} BiTNode,*BiTree;
void DestroyBiTree(BiTree &T)
{
    if(T) // [color=FF0000]非空树[/color]
    {
        if(T->lchild) // [color=0000FF]有左孩子[/color]
            DestroyBiTree(T->lchild); // [color=FF0000]销毁左孩子子树[/color]
        if(T->rchild) //[color=FF0000] 有右孩子[/color]
            DestroyBiTree(T->rchild); //[color=0000FF] 销毁右孩子子树[/color]
        free(T); // [color=FF0000]释放根结点[/color]
        T=NULL; // [color=0000FF]空指针赋0[/color]
    }
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册