日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

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

發(fā)布時(shí)間:2023/12/14 windows 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 家族关系查询系统程序设计算法思路_数据结构设计(家族关系查询系统)汇编.doc... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 課程設(shè)計(jì)介紹

1.1課程設(shè)計(jì)項(xiàng)目簡介

家譜是一種以表譜形式,記載一個(gè)以血緣關(guān)系為主體的家族世系繁衍和重要人物事跡的特殊圖書載體。家譜是中國特有的文化遺產(chǎn),是中華民族的三大文獻(xiàn)之一,屬珍貴的人文資料,對(duì)于歷史學(xué),民俗學(xué),人口學(xué),社會(huì)學(xué)和經(jīng)濟(jì)學(xué)的深入研究,均有不可替代的重要功能。本項(xiàng)目對(duì)家譜管理進(jìn)行簡單的模擬,以實(shí)現(xiàn)查看祖先和子孫個(gè)人信息 、插入家族成員等功能。

1.2課設(shè)題目分析

本程序的實(shí)質(zhì)是完成對(duì)家譜成員信息的建立、查找、插入等功能。可以首先定義家族成員的數(shù)據(jù)結(jié)構(gòu),然后將每個(gè)功能寫成一個(gè)函數(shù)來完成對(duì)數(shù)據(jù)的操作,最后完成主函數(shù)以驗(yàn)證各個(gè)函數(shù)功能并得出運(yùn)行結(jié)果。

本程序包含以下幾個(gè)模塊

建立家族關(guān)系樹。此模塊將構(gòu)建一個(gè)家族關(guān)系,對(duì)數(shù)據(jù)初始化,構(gòu)造關(guān)系樹并錄入數(shù)據(jù)一遍后續(xù)程序使用。

添加新成員。此模塊將添加一個(gè)新成員,實(shí)現(xiàn)對(duì)家族關(guān)系的修改。

家族關(guān)系的查詢。此模塊將實(shí)現(xiàn)對(duì)家族不同關(guān)系的查詢

主程序模塊。此模塊實(shí)現(xiàn)整個(gè)程序的進(jìn)入和進(jìn)出,以及各種初始化處理。

1.3課程題目原理與數(shù)據(jù)結(jié)構(gòu)

因?yàn)榧易宓某蓡T之間存在一個(gè)對(duì)多個(gè)的層次結(jié)構(gòu)關(guān)系,所以不能用線性表來表示和實(shí)現(xiàn)。家譜從形狀上看像一顆倒長的樹,所以用樹結(jié)構(gòu)來表示比較合適。樹形結(jié)構(gòu)是一類非常重要的非線性數(shù)據(jù)結(jié)構(gòu),直觀看來樹是以分支關(guān)系定義的層次結(jié)構(gòu)。

因此本課程設(shè)計(jì)可以采用的數(shù)據(jù)結(jié)構(gòu)有樹狀結(jié)構(gòu)和隊(duì)列。樹狀結(jié)構(gòu)采用三叉鏈表來實(shí)現(xiàn),隊(duì)列采用鏈?zhǔn)疥?duì)列實(shí)現(xiàn)。

1.4功能分析說明圖

2 分析與實(shí)現(xiàn)

2.1 基本數(shù)據(jù)結(jié)構(gòu)和棧隊(duì)的操作

2.1.1 結(jié)點(diǎn)基本數(shù)據(jù)結(jié)構(gòu)和鏈隊(duì)的定義

/*家族關(guān)系樹實(shí)現(xiàn)*/

#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/* 樹的三叉鏈表存儲(chǔ)結(jié)構(gòu)*/

{

DataType data[MAXNUM];

struct TriTNode *parent;/* 雙親*/

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

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

}TriTree;

typedef struct Node/* 隊(duì)列的結(jié)點(diǎn)結(jié)構(gòu)*/

{

TriTree *info;

struct Node *next;

}Node;

typedef struct/* 鏈接隊(duì)列類型定義*/

{

struct Node *front; /* 頭指針*/

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

}LinkQueue;

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

LinkQueue *LQueueCreateEmpty( )/* 建立一個(gè)空隊(duì)列*/

{

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

if (plqu!=NULL)

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

else

{

printf("內(nèi)存不足!\n");

return NULL;

}

return plqu;

}

int LQueueIsEmpty(LinkQueue *plqu)/* 判斷鏈接表示隊(duì)列是否為空隊(duì)列*/

{

return(plqu->front==NULL);

}

void LQueueEnQueue(LinkQueue *plqu,TriTree *x)/* 進(jìn)隊(duì)列*/

{

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

if(p==NULL)

printf("內(nèi)存分配失敗!\n");

else

{

p->info=x;

p->next=NULL;

總結(jié)

以上是生活随笔為你收集整理的家族关系查询系统程序设计算法思路_数据结构设计(家族关系查询系统)汇编.doc...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。