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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

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

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

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...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。