2014广工数据结构实验报告二叉树

2014广工数据结构实验报告二叉树

ID:37862311

大小:257.50 KB

页数:7页

时间:2019-06-01

2014广工数据结构实验报告二叉树_第1页
2014广工数据结构实验报告二叉树_第2页
2014广工数据结构实验报告二叉树_第3页
2014广工数据结构实验报告二叉树_第4页
2014广工数据结构实验报告二叉树_第5页
资源描述:

《2014广工数据结构实验报告二叉树》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构设计性实验报告课程名称_____数据结构实验_题目名称二叉树学生学院__计算机学院______专业班级____学号__________学生姓名________指导教师______黄剑锋____2015年7月7日1.题目采用二叉链表存储结构实现二叉链表的基本接口。基本操作:创建一棵空二叉树:voidInitBiTree(BiTree&T);创建一棵二叉树T,其中根结点的值为e,LR分别为左右子树:BiTreeMakeBiTree(TElemTypee,BiTreeL,BiTreeR);销毁二叉树:voidDestroyBiTree(BiTree&T);二叉树判空。若为空返回TRUE,

2、否则FALSE:StatusBiTreeEmpty(BiTreeT);将一棵二叉树T分解成根,左子树和右子树三个部分:StatusBreakBiTree(BiTree&T,BiTree&L,BiTree&R);替换左子树。若T非空,则用LT替换T的左子树,并用LT返回T的原有子树:StatusReplaceLeft(BiTree&T,BiTree<);替换右子树。若T非空,则用RT替换T的右子树,并用RT返回T的原有子树:StatusReplaceRight(BiTree&T,BiTree&RT);剪除左子树。若T非空,则剪除T的左子树,并用LT返回:StatusCutLeft(BiT

3、ree&T,BiTree<);剪除右子树。若T非空,则剪除T的右子树,并用RT返回:StatusCutRight(BiTree&T,BiTree&RT);显示树T:StatusDisplay(BiTreeT);2.存储结构定义#include#defineERROR0#defineOK1#defineTRUE1#defineFALSE0链式储存结构:typedefintStatus;typedefcharTElemType;typedefstructBiTNode{TElemTypedata;structBiTNode*lchild,*rchild;}BiTNode,

4、*BiTree;3.算法设计voidInitBiTree(BiTree&T){T=NULL;}BiTreeMakeBiTree(TElemTypee,BiTreeL,BiTreeR){BiTreet;t=(BiTree)malloc(sizeof(BiTNode));if(NULL==t)returnNULL;t->data=e;t->lchild=L;t->rchild=R;returnt;}voidDestroyBiTree(BiTree&T){if(T){DestroyBiTree(T->lchild);DestroyBiTree(T->rchild);free(T);}}Statu

5、sBiTreeEmpty(BiTreeT){if(T==NULL)returnTRUE;elsereturnFALSE;}StatusBreakBiTree(BiTree&T,BiTree&L,BiTree&R){if(T){L=T->lchild;R=T->rchild;T->lchild=NULL;T->rchild=NULL;returnOK;}elsereturnERROR;}StatusReplaceLeft(BiTree&T,BiTree<){BiTreetemp;if(NULL==T)returnERROR;temp=T->lchild;T->lchild=LT;LT=t

6、emp;returnOK;}StatusReplaceRight(BiTree&T,BiTree&RT){BiTreetemp;if(NULL==T)returnERROR;temp=T->rchild;T->rchild=RT;RT=temp;returnOK;}StatusCutLeft(BiTree&T,BiTree<){if(NULL==T){LT=NULL;returnERROR;}LT=T->lchild;T->lchild=NULL;returnOK;}StatusCutRight(BiTree&T,BiTree&RT){if(NULL==T){RT=NULL;retur

7、nERROR;}RT=T->rchild;T->rchild=NULL;returnOK;}StatusDisplay(BiTreeT){if(T==NULL){printf("#");returnERROR;}else{printf("%c",T->data);printf("(");Display(T->lchild);printf(",");Display(T->rchild);printf(")");return

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。