数据结构课程设计(家族关系查询系统).doc 立即下载
2024-04-30
约1.5万字
约28页
0
108KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

数据结构课程设计(家族关系查询系统).doc

数据结构课程设计(家族关系查询系统).doc

预览

免费试读已结束,剩余 23 页请下载文档后查看

4 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1课程设计介绍1、1课程设计项目简介家谱就是一种以表谱形式,记载一个以血缘关系为主体得家族世系繁衍与重要人物事迹得特殊图书载体.家谱就是中国特有得文化遗产,就是中华民族得三大文献之一,属珍贵得人文资料,对于历史学,民俗学,人口学,社会学与经济学得深入研究,均有不可替代得重要功能。本项目对家谱管理进行简单得模拟,以实现查瞧祖先与子孙个人信息、插入家族成员等功能。1、2课设题目分析本程序得实质就是完成对家谱成员信息得建立、查找、插入等功能。可以首先定义家族成员得数据结构,然后将每个功能写成一个函数来完成对数据得操作,最后完成主函数以验证各个函数功能并得出运行结果。本程序包含以下几个模块建立家族关系树。此模块将构建一个家族关系,对数据初始化,构造关系树并录入数据一遍后续程序使用。添加新成员。此模块将添加一个新成员,实现对家族关系得修改。家族关系得查询。此模块将实现对家族不同关系得查询主程序模块。此模块实现整个程序得进入与进出,以及各种初始化处理。1、3课程题目原理与数据结构因为家族得成员之间存在一个对多个得层次结构关系,所以不能用线性表来表示与实现。家谱从形状上瞧像一颗倒长得树,所以用树结构来表示比较合适。树形结构就是一类非常重要得非线性数据结构,直观瞧来树就是以分支关系定义得层次结构.因此本课程设计可以采用得数据结构有树状结构与队列。树状结构采用三叉链表来实现,队列采用链式队列实现。1、4功能分析说明图家族关系查询系统退出系统打开一个家族关系按关系查找各个家庭成员建立一个家族关系添加一个家庭成员查找一个成员得兄弟查找一个成员得祖先查找成员得子孙后代查找一个成员得孩子查找成员得堂兄弟查找成员祖先路径查找成员就是第几代查找一个成员双亲2分析与实现2、1基本数据结构与栈队得操作2.1。1结点基本数据结构与链队得定义/*家族关系树实现*/#include〈string、h〉#include<malloc、h〉#include<limits、h〉#include<stdio、h>#include<stdlib、h>#include<io、h>#include<math、h>#include<process、h〉#defineTRUE1#defineFALSE0#defineOK1#defineERROR-1#defineINFEASIBLE-1typedefcharDataType;#defineMAXNUM20typedefstructTriTNode/*树得三叉链表存储结构*/{ﻩDataTypedata[MAXNUM];ﻩstructTriTNode*parent;/*双亲*/structTriTNode*lchild;/*左孩子*/structTriTNode*rchild;/*右孩子*/}TriTree;typedefstructNode/*队列得结点结构*/{TriTree*info;structNode*next;}Node;typedefstruct/*链接队列类型定义*/{ﻩstructNode*front;ﻩ/*头指针*/structNode*rear;/*尾指针*/}LinkQueue;DataTypefname[MAXNUM],family[50][MAXNUM];/*全局变量*/2.1.2链队得基本操作LinkQueue*LQueueCreateEmpty()/*建立一个空队列*/{LinkQueue*plqu=(LinkQueue*)malloc(sizeof(LinkQueue));if(plqu!=NULL)plqu—>front=plqu-〉rear=NULL;else{printf(”内存不足!\n”);ﻩreturnNULL;}returnplqu;}intLQueueIsEmpty(LinkQueue*plqu)/*判断链接表示队列就是否为空队列*/{return(plqu->front==NULL);}voidLQueueEnQueue(LinkQueue*plqu,TriTree*x)/*进队列*/{Node*p=(Node*)malloc(sizeof(Node));if(p==NULL)printf(”内存分配失败!\n");elseﻩ{p->info=x;p->next=NULL;if(plqu->front==NULL)/*原来为空队*/plqu—>front=p;elseplqu->rear-〉next=p;plqu—〉rear=p;}}intLQueueDeQueue(LinkQueue*plqu,TriTree*x)/*出队列*/{Node*p;if(plqu—>front==NULL){ﻩprintf("队列空!\n”);returnERROR;ﻩ}elseﻩ{p=plqu->fr
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

数据结构课程设计(家族关系查询系统)

文档大小:108KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用