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

正文內(nèi)容

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

2024-09-09 14:54本頁面

【導(dǎo)讀】建立輸入文件以存放最刜家譜中各成員的信息。也可附加其它信息、但不是必需的。能對修改后的家譜存盤以備以后使用。能從文件中讀出已有的家譜,形成樹狀關(guān)系。顯示第n代所有人的信息。按照出生日期查詢成員名單。輸入兩人姓名,確定其關(guān)系。打開一家譜時(shí),若家譜中某人的生日在打開家譜的那一天,應(yīng)給出提示。采用二叉樹迚行家譜的管理、樹形控件及列表控件迚行家譜的顯示。程序涉及以下三種類。型,但基本操作均在“家譜”類型中。,n其中n>=1,String屬于字符串類型,為。2.從內(nèi)存中讀取兄弟、孩子二叉樹,并建立家譜類型文件。n其中n>=2,且Aj-1與Aj為祖先與。3.增加某人孩子。5.通過某人查找其雙親、孩子、兄弟。

  

【正文】 er[low].oneself=order[high].oneself。 while(lowhighamp。amp。(CompareDate(order[low].birthday,pivotkey)==1 ||CompareDate(order[low].birthday,pivotkey)==0)) ++low。 order[high]=order[low]。 //將比樞軸記錄大的記錄移到高端 } order[low]=order[0]。 //樞軸記錄到位 return low。 //返回樞軸位置 } void COperationFamilytree::QuickSort(QuickSortNode *order, int low, int high) { //本函數(shù)對順序表 order[low...high]作 快速排序 int pivotloc。 if(lowhigh){ //長度大于 1 pivotloc=Partition(order,low,high)。 //將 order[low...high]一分為 二 QuickSort(order,low,pivotloc1)。 //對低子表遞歸排序, pivotloc 是樞軸位置 QuickSort(order,pivotloc+1,high)。 //對高子表遞歸排序 } } void COperationFamilytree::GetPersonNums(Personamp。T,intamp。 personNums) { //本函數(shù)返回以 T 為根結(jié)點(diǎn)的所有結(jié)點(diǎn)數(shù),并把結(jié)果存入 personNums 中 //刜 ___________始值 personNums 必須為 0 if(T){ personNums++。 GetPersonNums(Tchild,personNums)。 //遞歸調(diào)用 GetPersonNums(Tsibling,personNums)。 } } void COperationFamilytree::CopyInfoFromBiTreeToArray(Person amp。T, QuickSortNode *amp。order) { //本函數(shù)先序遍歷以 T為根結(jié)點(diǎn)的所有結(jié)點(diǎn),并把每一個(gè)結(jié)點(diǎn)的出生日期信 息及其指針值 //依次存入順序表 order中 if(T){ (*order).birthday=T。 (*order).oneself=T。 order++。 CopyInfoFromBiTreeToArray(Tchild,order)。 CopyInfoFromBiTreeToArray(Tsibling,order)。 } } 五、調(diào)試分析 1.該課程設(shè)計(jì)只有一個(gè)主要類,即對孩子 —— 兄弟二叉樹的操作類。該類主要包括文件讀 取函數(shù)、創(chuàng)建孩子 —— 兄弟二叉樹函數(shù)、在樹中查找函數(shù)、遍歷函數(shù)以及對樹中結(jié)點(diǎn)迚行 加入、初除、修改的函數(shù)。由于樹存儲結(jié)構(gòu)的特殊性,故編制這些算法時(shí)大量使用了遞歸, 雖然這樣做可能會降低程序的執(zhí)行效率,但程序的易讀性較強(qiáng)。 2.在調(diào)試時(shí),遇到的幾個(gè)問題如下: ( 1)建立樹時(shí),由于新申請結(jié)點(diǎn)的孩子指針、兄弟指針、及雙親指針均未賦空值。 而在以后的函數(shù)中對樹迚行遞歸操作時(shí)均以這些指針值中的一個(gè)或幾個(gè)是否為空 作為遞歸 結(jié)束條件。從而導(dǎo)致調(diào)用這些函數(shù)時(shí)出現(xiàn)系統(tǒng)保護(hù)異常(使用了不安全 的指針)。 ( 2)剛開始初除結(jié)點(diǎn)時(shí),只考慮到初除其本身結(jié)點(diǎn)的情況,而初除其孩子結(jié)點(diǎn)的 情況未考慮到,故在初除某些結(jié)點(diǎn)時(shí)使樹出現(xiàn)了“斷鏈”現(xiàn)象。故在程序代碼中 對初除某一結(jié)點(diǎn)迚行操作時(shí),首先要?jiǎng)`斷此結(jié)點(diǎn)是否有孩子及兄弟,然后迚行相 應(yīng)操作。 ( 3)剛開始迚行程序概要設(shè)計(jì)時(shí),曾考慮到用控制臺下的文本方式作為程序界面, 實(shí)際操作后發(fā)現(xiàn)并不理想。一方面字符形式的界面友好性較差,另一方面顯示整 個(gè)家譜樹的信息時(shí)不方便。故考慮用 VC++中 MFC 類自帶的樹 型控件顯示家譜層 次,而用列表控件顯示家譜中的信息。用后效果不錯(cuò)。 六、用戶手冊 Windows95/98/ME 以及 Windows 2020/NT/XP 操作系統(tǒng),執(zhí)行文 件為 。 Microsoft Visual C++ 。在 Windows 2020 下編譯通過。 : 。 七、測試結(jié)果 按下按鈕“打開家譜”,打開一個(gè)家譜文件( *.ftf) 按下按 鈕“新建家譜”,新建一個(gè)家譜文件( *.ftf) 按下按鈕“保存家譜”,將修改過的家譜保存 按下按鈕“另存家譜”,將修改過的家譜另存為一個(gè)家譜文件( *.ftf) 按下按鈕“初除該人”,將樹型控件中選中的成員及其后代初除 按下按鈕“增加孩子”,給樹型控件中選中的成員增加一個(gè)孩子 按下按鈕“更改資料”,更改樹型控件中選中的成員的資料 按下按鈕“按照姓名查找”,將家譜中特定名字的成員的信息顯示在列表控件中 按下按鈕“確定兩人關(guān)系”,將家譜中某兩人的關(guān)系顯示出來 按下按鈕“出生日期排序”,將家譜中的所有成員按出生日期 排序并顯示在列表控件中 按下按鈕“按照生日查找”,將家譜中特定日期出生的成員的信息顯示在列表控件中 選擇菜單項(xiàng)目“關(guān)于”,顯示該程序的版權(quán)信息 選擇菜單項(xiàng)目“退出”,結(jié)束該程序的運(yùn)行 八、附錄 源程序文件名清單: amp。 —— 主程序?qū)崿F(xiàn)單元 amp。 —— 文件輸入輸出實(shí)現(xiàn)單元 amp。 —— 家譜操作實(shí)現(xiàn) 單元 amp。 amp?!?MFC 類實(shí)現(xiàn)及資源頭文件 amp。 amp。 —— 資源文件 amp。 —— 增加成員的實(shí)現(xiàn)單元 amp。 —— 初除成員的實(shí)現(xiàn)單元 amp。 —— 修改成員資料的實(shí)現(xiàn)單元 amp。 —— 按出生日期查找成員的實(shí)現(xiàn)單元 amp。 —— 按姓名查找成員的實(shí)現(xiàn)單元 amp。 —— 顯示成員關(guān)系的實(shí)現(xiàn)單元 amp。 SearchGenerationDlgh—— 顯示代數(shù)的實(shí)現(xiàn)單元 參考書目: 《數(shù)據(jù)結(jié)構(gòu)( C 語言版)》 —— 清華大學(xué)出版社 —— 嚴(yán)蔚敏、吳偉民編著 《 C 至 Visual C++程序設(shè)計(jì)語言》 —— 科學(xué)出版社 —— 蔡常豐、林小蘋編 著 《 Microsoft Visual C++ 高手速成》 —— 兵器工業(yè)出版社 —— 步行者工作室編著 《 C++程序設(shè)計(jì)》 —— 清華大學(xué)出版社 —— 譚浩強(qiáng)編著 姓名:郭志超 學(xué)號: 031010151554042 完 __
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1