freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告用二叉樹實現(xiàn)家譜管理系統(tǒng)-wenkub

2022-09-20 14:54:18 本頁面
 

【正文】 private: char savepath[MAX_CHARNUM]。 //每次打開一新家譜文件時的生日提示 void DisplayGenerationInfo(Personamp。 //在列表控件中顯示其他信息 void FindInTree(HTREEITEMamp。 //刷新列表 void DisplayFamilytree(Personamp。 class CFamilytreeDlg : public CDialog { public: void SaveTip()。 //對 order[low...high]中的 記錄迚行快速排序 (供 SortByBirthday 函數(shù)調(diào)用 ) int Partition(QuickSortNode* order,int low,int high)。 //把 insertSibling 揑入到以 firstSibling 為首的兄弟中 (供 CreateFamilytree 函數(shù)調(diào)用 ) void CopyInfoFromBiTreeToArray(Personamp。 //二叉樹的根結(jié)點 int ReadNode(FILE* fp,Personamp。 pNode)。 //比較兩日期的大小 bool IsDateValid(Date date)。 //得到家譜中總?cè)藬?shù) int InGenerationPos(Person pNode)。 //修改 pNode 結(jié)點為新值 newValue void SortByBirthday(QuickSortNode* order)。 //把 addnode 加為結(jié)點 parent 的孩子 void Delete(Personamp。 //從根結(jié)點出發(fā),搜索 name 所在結(jié)點 ,如找到,存于 Tname 中,找不到, Tname 為 0 //使用前確保 Tname 指針為 0 void Find(Personamp。 T))。 T ,void (*Visit)(FILE* fp,Personamp。 //新建一空家譜 int CreateFamilytree(CString filename)。 6. 根據(jù)家譜的特點,采用孩子 兄弟的二叉樹鏈表表示法(鏈表的基本單位為以結(jié)構(gòu)P ersonNode 表示的結(jié)點),各種操作以 COperationFamilytree 類來實現(xiàn)。 //日 }。 //指向兄弟的指針 }*Person。 3.定義“家譜”類型 struct PersonNode{ //一個人的信息和與其他人關(guān)系的存儲 結(jié)構(gòu) Info info。 //死亡年份 int 。 //出生日期 int marry。 “家譜類型文件”類型 { //一個人的有關(guān)信息在磁盤文件中存儲結(jié)構(gòu) char name[MAX_CHARNUM]。 //婚否 char addr[MAX_CHARNUM]。 5. 通過某人查找其雙親、孩子、兄弟。 }ADT FamilytreeFlie 3.定義“家譜”類型 ADT Familytree{ 數(shù)據(jù)對象: D={Aj | Aj 屬于 Person,j=1,2,3,??,n 其中 n=0} 數(shù)據(jù)關(guān)系: V={Aj1,Aj | Aj1,Aj 屬于 D,j=2,3,??n 其中 n=2,且 Aj1 與 Aj 為祖先與 后 代關(guān)系( parent)、后代與祖先關(guān)系 (child)、兄弟之間關(guān)系( sibling) } 基本操作: 1. 顯示某人信息。程序涉及以下三種類 型,但基本操作均在“家譜”類型中。 ?? 修改某人信息。 ?? 按照出生日期查詢成員名單。 ?? 能從文件中讀出已有的家譜,形成樹狀關(guān)系。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計 題目:用二叉樹實現(xiàn)家譜管理系統(tǒng) 姓名:郭志超 學號: 031010151554042 完成日期: 一、需求分析 ?? 建立輸入文件以存放最刜家譜中各成員的信息。 ?? 家譜建立好之后,以圖形方式顯示出來。 ?? 輸入兩人姓名,確定其關(guān)系。 ?? 按出生日期對家譜中所有人排序。 1.定義“個人信息”類型: ADT Person{ 數(shù)據(jù)對象: D={Pj | Pj={姓名、 出生日期、婚否、地址、健在否(如過世,還應有其死亡日 期) }, j=0,1,2,??n,其中 n=0} 數(shù)據(jù)關(guān)系: R={} 基本操作: 無。 2. 修改某人信息。 }ADT Familytree 三、詳細設(shè)計 1.定義“個人信息”類型: struct Info{ //一個人的有關(guān)信息在內(nèi)存中的存儲結(jié)構(gòu) char name[MAX_CHARNUM]。 //住址 int live。 //姓名 int 。 //婚否 char addr[MAX_CHARNUM]。 //死亡月份 int 。 //自己的信息 PersonNode* parent。 4. 用結(jié)構(gòu) Date 存儲日期 struct Date{ //年、月、日存儲結(jié)構(gòu) int year。 5.用結(jié)構(gòu) QuickSortNode 存儲快速排序數(shù)組值(為快速排序而設(shè)) struct QuickSortNode{ //為以出生日期大小快速排序建立的存儲結(jié)構(gòu) Date birthday。 以下是 CoperationFamilytree 類包含的數(shù)據(jù)成員及基本操作 class COperationFamilytree { public: COperationFamilytree()。 //從輸入文件 filename 中讀取數(shù)據(jù)建立家譜 void DestroyFamilytree()。 T))。 //后序遍歷 (為初除家譜而做 ) void Find(Personamp。T,Person*amp。 rootNode)。 //對家譜以出生日期排序,并把排序結(jié)果放在數(shù)組 order 中 void GetPersonNums(Personamp。 //返回 pNode 在家譜中是第幾代 int InSiblingPos(Person pNode)。 //檢驗日期是否合法 Personamp。 //保存結(jié)點 pNode 到文件 fp 中 friend void DestroyNode(Personamp。T,char* parentname)。T,QuickSortNode*amp。 //對 order[low..high]中的記錄迚行一次排序 (供 QuickSort 函數(shù)調(diào)用 ) bool IsLe
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1