《数据结构》课程设计报告格式 家谱管理

《数据结构》课程设计报告格式 家谱管理

ID:1455367

大小:322.50 KB

页数:19页

时间:2017-11-11

《数据结构》课程设计报告格式 家谱管理_第1页
《数据结构》课程设计报告格式 家谱管理_第2页
《数据结构》课程设计报告格式 家谱管理_第3页
《数据结构》课程设计报告格式 家谱管理_第4页
《数据结构》课程设计报告格式 家谱管理_第5页
资源描述:

《《数据结构》课程设计报告格式 家谱管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构课程设计报告设计题目:家谱管理学院经济与管理学院专业信息管理与信息系统班级信管112学号3110561044姓名吴俊贤2012秋季学期19报告格式按以下标题及内容书写,标题为小四号宋体,正文内容为五号字,16开打印。一、问题描述设计一个程序,采用二叉树表示一个家谱关系。二、基本要求1)用缩进表示法输出家谱二叉树。2)查找某人所有的儿子。3)查找某人所有的祖先。三、算法思想首先,定义一个二叉树;然后按前序建立二叉树,把左子树定义为孩子,右子树定义为兄弟,同时输入人员所处的代数,以便于对祖先的查找;接下来,用前序遍历二叉树,

2、并且把二叉树逆时针旋转90度输出,以此表示缩进法输出家谱;然后,定义一个查找结点的函数,用于接下来查找孩子和祖先时先找出要查找的人;然后,定义查找祖先的函数,用指针查找某人的祖先,包括直系与旁系;接下来,定义查找儿子的函数,把查找到的结点的左孩子,以及左孩子的右孩子,直到没有左孩子为止,依次输出;最后,是主函数,负责调用各个函数为系统服务。四、数据结构定义二叉树结构体:typedefstructfamily{chardata;intcount;structfamily*lchild;structfamily*rchild;}fa

3、mily;五、模块划分(1)family*Createfamily()功能是:按前序建立二叉树(2)voidPreorder(family*T,intj)功能是:把二叉树进行前序遍历(3)voidprintbitree(family*b,intn)功能是:缩进法输出二叉树(4)family*SearchX(family*b,charX)功能是:查找结点X19(5)voidSearchXAncestor(family*b,charX)功能是:找结点X的所有祖先(6)voidSearchXSon(family*b,charX)功能是

4、:查找结点X的所有儿子(7)voidmain()主函数功能是:调用各个函数为实现各种功能服务六、源程序#include#includetypedefstructfamily{chardata;intcount;structfamily*lchild;structfamily*rchild;}family;family*Createfamily(){inti;family*e;charx;scanf("%c,%d",&x,&i);getchar();if(x=='0')e=NULL;else{

5、e=(family*)malloc(sizeof(family));e->data=x;e->count=i;printf("tt请输入%c结点的孩子结点以及代数:",e->data);e->lchild=Createfamily();printf("tt请输入%c结点的兄弟结点以及代数:",e->data);e->rchild=Createfamily();}returne;}19voidPreorder(family*T,intj){if(T!=NULL&&T->count

6、->data);Preorder(T->lchild,j);Preorder(T->rchild,j);}}voidprintbitree(family*b,intn){inti;if(b==NULL)return;printbitree(b->rchild,n+1);for(i=0;i=0){printf("---");printf("%c",b->data);}printbitree(b->lchild,n+1);}family*SearchX(family*b,charX)

7、{family*p;if(b==NULL)returnNULL;elseif(b->data==X)returnb;else{p=SearchX(b->lchild,X);if(p!=NULL)returnp;19else{returnSearchX(b->rchild,X);}}}voidSearchXAncestor(family*b,charX){inth;family*p;p=(family*)malloc(sizeof(family));printf("请输入孩子的名字:");scanf("%c",&X);p=Sear

8、chX(b,X);h=p->count;if(b==NULL){printf("树为空!");return;}else{printf("祖先:");Preorder(b,h);}}voidSearchXSon(family*b,charX){family*p

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

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

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