二叉链表表示二叉树,复制一颗二叉树,如何用C语言算法设计,希望答案正确且完整

2024-12-03 08:53:43
推荐回答(1个)
回答1:

生成一个二叉树的结点
(其数据域为item,左指针域为lptr,右指针域为rptr)BiTNode *GetTreeNode(TElemType item,
BiTNode *lptr , BiTNode *rptr ){
if (!(T = (BiTNode*)malloc(sizeof(BiTNode))))
exit(1);
T-> data = item;
T-> lchild = lptr; T-> rchild = rptr;
return T;
}
BiTNode *CopyTree(BiTNode *T) {
if (!T ) return NULL;
if (T->lchild )
newlptr = CopyTree(T->lchild);//复制左子树
else newlptr = NULL;
if (T->rchild )
newrptr = CopyTree(T->rchild);//复制右子树
else newrptr = NULL;
newT = GetTreeNode(T->data, newlptr, newrptr);
return newT;
} // CopyTree
希望对你有所帮助,因为我也是这半学期刚学的,嘿嘿