二叉树的结点定义_第1页
二叉树的结点定义_第2页
二叉树的结点定义_第3页
二叉树的结点定义_第4页
二叉树的结点定义_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二叉树的结点定义typedef struct NodeDataType data;/*数据域数据域 */struct Node *leftChild;/*左子树指针左子树指针*/struct Node *rightChild;/*右子树指针右子树指针*/BiTreeNode;/*结点的结构体定义结点的结构体定义*/初始化操作void Initiate(BiTreeNode *root)*root=(BiTreeNode*)malloc(sizeof(BiTreeNode);(*root)-leftChild=NULL;(*root)-rightChild=NULL;BiTreeNode BiT

2、reeNode * *InsertLeftNode(BiTreeNode InsertLeftNode(BiTreeNode * *curr,DataType x)curr,DataType x) BiTreeNode BiTreeNode * *s, s,* *t; t;if(curr=NULL) return NULL;if(curr=NULL) return NULL;t=curr-leftChild;/t=curr-leftChild;/* *保存原保存原currcurr所指所指结结点的左子点的左子树树指指针针* */ /s=(BiTreeNode s=(BiTreeNode * *)

3、malloc(sizeof(BiTreeNode);)malloc(sizeof(BiTreeNode);s-data=x;s-data=x;/*若当前结点curr为空,在curr的左子树插入元素值为x的新结点*/*原curr所指结点的左子树成为新插入结点的左子树*/*若插入成功则返回新插入结点的指针,否则返回空指针*/ s-leftChild=t;/s-leftChild=t;/* *新插入新插入结结点的左子点的左子树为树为原原currcurr的左子的左子树树* */ /s-rightChild=NULL;s-rightChild=NULL;curr-leftChild=s;/curr-le

4、ftChild=s;/* *新新结结点成点成为为currcurr的左子的左子树树* */ /return curr-leftChild;/return curr-leftChild;/* *返回新插入返回新插入结结点的指点的指针针* */ / /*若当前结点curr非空,在curr的右子树插入元素值为x的新结点*/*原curr所指结点的右子树成为新插入结点的右子树*/*若插入成功返回新插入结点的指针,否则返回空指针*/BiTreeNode *InsertRightNode(BiTreeNode *curr,DataType x)BiTreeNode *s,*t; if(curr=NULL) r

5、eturn NULL; t=curr-rightChild;/*保存原curr所指结点的右子树指针*/s=(BiTreeNode *)malloc(sizeof(BiTreeNode);s-data=x;s-rightChild=t;/*新插入结点的左子树为原curr的右子树*/s-leftChild=NULL; curr-rightChild=s;/*新结点成为curr的右子树*/return curr-rightChild;/*返回新插入结点的指针*/*若curr非空,删除curr所指结点的左子树*/*若删除成功返回删除结点的双亲结点指针,否则返回空指针*/BiTreeNode *Dele

6、teLeftTree(BiTreeNode *curr)if(curr=NULL|curr-leftChild=NULL) return NULL; curr-leftChild=NULL; return curr;/*若curr非空,删除curr所指结点的右子树*/*若删除成功返回删除结点的双亲结点指针,否则返回空指针*/BiTreeNode *DeleteRightTree(BiTreeNode *curr)if(curr=NULL|curr-rightChild=NULL) return NULL; curr-righttChild=NULL; return curr;释放内存空间BiTreeNode *DeleteRightTree(Bi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论