int TreeDelete(TreeNode *root,EleType data) //删除二叉树的结点
{
TreeNode *delp;
if(!root) return 0;
delp=Find(root,data);
if(!delp) return 0;
if(delp==root)
{
Destroy(root);
printf("Destroy the tree...");
exit(0);
}
if(delp->parent->lchild==delp) delp->parent->lchild=0;
if(delp->parent->rchild==delp) delp->parent->rchild=0;
Destroy(delp);
return 2;
}
int Destroy(TreeNode *root) //销毁二叉树
{
if(!root) return 0;
Destroy(root->lchild);
Destroy(root->rchild);
free(root);
printf("Destroy the tree...");
exit(0);
}