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

1 课程设计介绍

1.1课程设计项目简介

家谱是一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹的特殊图书载体。家谱是中国特有的文化遗产,是中华民族的三大文献之一,属珍贵的人文资料,对于历史学,民俗学,人口学,社会学和经济学的深入研究,均有不可替代的重要功能。本项目对家谱管理进行简单的模拟,以实现查看祖先和子孙个人信息 、插入家族成员等功能。

1.2课设题目分析

本程序的实质是完成对家谱成员信息的建立、查找、插入等功能。可以首先定义家族成员的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。

本程序包含以下几个模块

建立家族关系树。此模块将构建一个家族关系,对数据初始化,构造关系树并录入数据一遍后续程序使用。

添加新成员。此模块将添加一个新成员,实现对家族关系的修改。

家族关系的查询。此模块将实现对家族不同关系的查询

主程序模块。此模块实现整个程序的进入和进出,以及各种初始化处理。

1.3课程题目原理与数据结构

因为家族的成员之间存在一个对多个的层次结构关系,所以不能用线性表来表示和实现。家谱从形状上看像一颗倒长的树,所以用树结构来表示比较合适。树形结构是一类非常重要的非线性数据结构,直观看来树是以分支关系定义的层次结构。

因此本课程设计可以采用的数据结构有树状结构和队列。树状结构采用三叉链表来实现,队列采用链式队列实现。

1.4功能分析说明图

2 分析与实现

2.1 基本数据结构和栈队的操作

2.1.1 结点基本数据结构和链队的定义

/*家族关系树实现*/

#include

#include

#include

#include

#include

#include

#include

#include

#define TRUE 1

#define FALSE 0

#define OK 1

#define ERROR -1

#define INFEASIBLE -1

typedef char DataType;

#define MAXNUM 20

typedef struct TriTNode/* 树的三叉链表存储结构*/

{

DataType data[MAXNUM];

struct TriTNode *parent;/* 双亲*/

struct TriTNode *lchild;/* 左孩子*/

struct TriTNode *rchild;/* 右孩子*/

}TriTree;

typedef struct Node/* 队列的结点结构*/

{

TriTree *info;

struct Node *next;

}Node;

typedef struct/* 链接队列类型定义*/

{

struct Node *front; /* 头指针*/

struct Node *rear; /* 尾指针*/

}LinkQueue;

DataType fname[MAXNUM],family[50][MAXNUM];/* 全局变量*/

LinkQueue *LQueueCreateEmpty( )/* 建立一个空队列*/

{

LinkQueue *plqu=(LinkQueue *)malloc(sizeof(LinkQueue));

if (plqu!=NULL)

plqu->front=plqu->rear=NULL;

else

{

printf("内存不足!\n");

return NULL;

}

return plqu;

}

int LQueueIsEmpty(LinkQueue *plqu)/* 判断链接表示队列是否为空队列*/

{

return(plqu->front==NULL);

}

void LQueueEnQueue(LinkQueue *plqu,TriTree *x)/* 进队列*/

{

Node *p=(Node *)malloc(sizeof(Node));

if(p==NULL)

printf("内存分配失败!\n");

else

{

p->info=x;

p->next=NULL;

家族关系查询系统程序设计算法思路_数据结构课程设计(家族关系查询系统)..doc...相关推荐

  1. 家族关系查询系统程序设计算法思路_数据结构课程设计家族关系查询系统要点...

    家族关系查询系统 1 课程设计介绍 1.1 课程设计项目简介 家谱是一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要 人物事迹的特殊图书载体. 家谱是中国特有的文化遗产, 是中华民族的三大 ...

  2. 家族关系查询系统程序设计算法思路_数据结构课程设计(家族关系查询系统)

    1 课程设计介绍 1 . 1 课程设计项目简介 家谱就是一种以表谱形式 , 记载一个以血缘关系为主体得 家族世系繁衍与重要人物事迹得特殊图书载体.家谱就是中国特 有得文化遗产,就是中华民族得三大文献之 ...

  3. 家族关系查询系统程序设计算法思路_数据结构课程设计(家族关系查询系统).....

    家族关系查询系统 1 1 课程设计介绍 1.1 课程设计项目简介 家谱是一种以表谱形式, 记载一个以血缘关系为主体的家族世 系繁衍和重要人物事迹的特殊图书载体.家谱是中国特有的文化 遗产,是中华民族的 ...

  4. 家族关系查询系统程序设计算法思路_数据结构课程设计--

    数据结构课程设计-- 家族关系查询系统 课 程 设 计 任 务 书 题目题目 家族关系查询系统家族关系查询系统 主要内容.基本要求.主要参考资料等主要内容.基本要求.主要参考资料等 主要内容主要内容 ...

  5. 家族关系查询系统程序设计算法思路_数据结构课程设计方案(家族关系查询系统)...

    家族关系查询系统 1 1 课程设计介绍 1.1 课程设计项目简介 家谱是一种以表谱形式, 记载一个以血缘关系为主体的家族世 系繁衍和重要人物事迹的特殊图书载体.家谱是中国特有的文化 遗产,是中华民族的 ...

  6. java校院导游程序课程设计_数据结构课程设计之校园导游系统

    数据结构课程设计之校园导游系统 放假到现在终于安下心来要搞点学习了,现在对放假前一周的数据结构课设做一个总结,快放假的时候搞数据结构课设,当时满脑子都是期末考试忙着复习,根本没啥心思去做.所以课设一共 ...

  7. 算术表达式求值的程序设计与实现_数据结构课程设计

    以下内容可且仅可供参考,如有错误欢迎指正. 部分思路借鉴算术表达式求值(C语言栈)_夜何其的博客-CSDN博客_c语言利用栈求解算术表达式侵删致歉 <算术表达式求值的程序设计与实现>题目要 ...

  8. 飞机订票系统程序设计c语言,C语言课程设计——飞机订票系统源代码

    <C语言课程设计--飞机订票系统源代码>由会员分享,可在线阅读,更多相关<C语言课程设计--飞机订票系统源代码(9页珍藏版)>请在人人文库网上搜索. 1.include/标准输 ...

  9. 家族关系查询系统程序设计算法思路_七大查找算法(附C语言代码实现)

    来自:Poll的笔记 - 博客园 链接:http://www.cnblogs.com/maybe2030/p/4715035.html 阅读目录 1.顺序查找 2.二分查找 3.插值查找 4.斐波那契 ...

最新文章

  1. UA MATH ECE636 信息论10 Non-adaptive Group Testing
  2. 黑盒測试(一)-----边界值測试
  3. packETH发包工具使用教程
  4. 2022年百度新能源汽车行业洞察
  5. mysql 执行存储过程_MySQL存储过程的3种循环
  6. MEF实现设计上的“松耦合”(一)
  7. 寻优秀开源项目,百万程序员为你助力!
  8. 几种排序算法的比较(冒泡、快速、Shell排序)
  9. 火狐浏览器驱动_火狐浏览器开始支持比WebGL更简单的绘图API WebGPU
  10. 40行代码的人脸识别实践
  11. mvc actionresult返回各种文件
  12. 一个关于常用类的简单小练习
  13. c#-winform自定义窗体皮肤(无边框皮肤)
  14. oauth2生成jwt令牌
  15. 图解强化学习 原理 超详解 (一)
  16. 2021最新微信域名检测后屏蔽举报源码
  17. Android手机适配,手机尺寸、px、dpi、dp、sp详解
  18. Lecture 9: Practical Tips for Final Projects
  19. “手术机器人”掀起融资潮,行业正加速打破“达芬奇”神话
  20. jsp写php一句话,asp,aspx,php,jsp下的一句话木马

热门文章

  1. 爱盈利app推广专家相关介绍
  2. MalformedJsonException: JSON forbids octal prefixes
  3. 1. 【Part2】 Contour Detection and Hierarchical Image Segmentation【轮廓检测图像分割】
  4. xx项目机器人底层运动控制方案
  5. 计算机图形学基础徐文鹏知识点,计算机图形学基础(OpenGL版)
  6. 装完黑苹果怎么装windows_黑苹果安装教程,小编教你黑苹果怎么安装
  7. 博图region用法_西门子1200PLC的OB块用法讲解
  8. Java依赖注入(DI)实例详解
  9. 全程干货!人物设计是什么?如何设计出好看的人物?
  10. %3c大自然的语言%3e竺可桢题目,大自然的语言 竺可桢阅读附答案