二叉树操作二叉树操作
{ if((*bt=(BiTNode *)malloc(sizeof(BiTNode)))==NULL) return 0;/*带头节点的二叉树*/
*bt->lchild=NULL;
*bt->rchild=NULL;
return 1;
}
BiTree Initiate(BiTree bt)
{ if((bt=(BiTNode *)malloc(sizeof(BiTNode)))==NULL) return NULL;
bt->lchild=NULL;
bt->rchild=NULL;
r...
二叉树操作
{ if((*bt=(BiTNode *)malloc(sizeof(BiTNode)))==NULL) return 0;/*带头节点的二叉树*/
*bt->lchild=NULL;
*bt->rchild=NULL;
return 1;
}
BiTree Initiate(BiTree bt)
{ if((bt=(BiTNode *)malloc(sizeof(BiTNode)))==NULL) return NULL;
bt->lchild=NULL;
bt->rchild=NULL;
return bt;
}
/*创建一颗二叉树*/
BiTree Creat(datatype x,BiTree lbt,BiTree rbt) { BiTree p;
if((p=(BiTNode *)malloc(sizeof(BiTNode)))==NULL) return NULL;
p->data=x;
p->lchild=lbt;
p->rchild=rbt;
return p;
}
/*插入左,右 孩子*/
BiTree InsertL(BiTree bt,datatype x,BiTree parent)
{ //插入成功返回根结点指针,失败返回空指针
BiTree p;
if(parent==NULL) return NULL;
if((p=(BiTNode *)malloc(sizeof(BiTNode)))==NULL) return NULL;
p->data=x;
p->lchild=NULL;
p->rchild=NULL;
if(parent->lchild==NULL)parent->lchild=p;
else {p->lchild=parent->lchild;
parent->lchild=p;
}
return bt;
}
/*删除节点*/
BiTree DelteL(BiTree bt,BiTree parent) { //删除成功返回根结点指针,失败返回空指针
BiTree p;
if(parent==NULL||parent->lchild==NULL) return NULL;
p=parent->lchild;parent->lchild=NULL;
free(p);
return bt;
}
本文档为【二叉树操作】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。