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

正文內容

數(shù)據(jù)結構家譜管理系統(tǒng)-展示頁

2025-01-27 11:08本頁面
  

【正文】 數(shù)查找與參數(shù) name相匹配的記錄,然后判斷其返回的地址是否為空,若為空則不進行查找其雙親,若不為空,則用循環(huán)通過雙親指針按輩分從小到大輸出雙親的姓名,直到雙親的地址為空,結束循環(huán)。 算法:調用Binarytnode* searchRecord(string name)函數(shù)查找與參數(shù) name相匹配的記錄,然后判斷其返回的地址是否為空,若為空則不進行查找其子女,若不為空,則輸出其左右孩子(左右孩子不空的情況下)。若直到遍歷完整棵子樹都還沒找到,則返回一個空指針。反之,則將根結點入隊列,然后進入一個循環(huán)體,使循環(huán)為真的條件是隊列不為空,循環(huán)體語句是取隊頭元素,然后對該元素的判斷它的成員變量name是否與查找的姓名相匹配。 算法:通過層次遍歷來和每個結點的成員變量name比較若姓名匹配則返回該節(jié)點的地址。 算法:首先先建立一個二叉樹結點,提示用戶輸入該結點的姓名,將 用戶輸入的姓名寫入到該結點的成員變量name中,將形參num寫入到該結點的成員變量number中,將雙親結點的地址賦給結點的成員變量的雙親指針,提示用戶是否有左孩子,若有左孩子則遞歸調用通過形參將雙親結點的地址傳遞過去,遞歸調用返回的地址賦給它的雙親結點的左孩子指針,右孩子的建立同理可得,通過遞歸來建立整棵二叉樹。 2.算法的設計 本設計從總體上主要分2個模塊,分別是家譜操作模塊和文件操作模塊。在家譜課程設計中還用到單鏈表,在設計中要將二叉樹存儲在文件中,最終要讀取文件中的記錄,要將文件中的數(shù)據(jù)還原到內存中組成二叉樹結構,而文件中元素與元素之間的結構是線性,而且直接對文件中的數(shù)據(jù)操作很不方便,所以將文件中的元素存儲在單鏈表中,再對單鏈表操作還原成內存中的二叉樹。 (2) 家譜操作功能:用括號表示法和凹入法輸出家譜二叉樹,并能查找某人所有的兒子,查找某人的所有祖先。 二.基本要求 設計要求:編寫一個程序,采用一棵二叉樹表示一個家譜關系。 (2) 家譜操作功能:用括號表示法和凹入法輸出家譜二叉樹,并能查找某人的配偶、所有孩子、所有祖先、兄弟等功能。在其后的操作中,可從文件里讀取族譜信息、增加新的家族成員、修改已有的家族成員、刪除已存在的家族成員、可清除所有的家族成員信息。 關鍵詞: Binarytnode save search addRecord del change clear 本程序功能框架圖家譜管理系統(tǒng) 家譜操作功能文件操作功能 用凹入表示法輸出家譜用括號表示法輸出家譜查找某人的祖先查找某人的孩子查找某人記錄刪除家譜成員修改家譜成員信息存盤清除家譜存盤記錄讀取存盤記錄家譜記錄輸入添加成員1. 項目總體設計 需求分析 (1) 文件操作功能:記錄輸入、記錄輸出、清除全部文件記錄和將家譜記錄存盤。 在對家譜的文件操作中,為了還原家譜方便,采用按層遍歷的順序保存二叉樹中各結點的信息,在層次遍歷中,使用隊列來實現(xiàn)二叉樹的層次遍歷。摘 要在本次家譜課程設計中采用二叉樹來表示家譜關系,由于在家譜中每個家族成員的子女不止一個,而雙親只有一個,所以采用二叉樹結構來描述家族成員之間的關系。在家譜課程設計中還用到單鏈表,在設計中要將二叉樹存儲在文件中,最終要讀取文件中的記錄,要將文件中的數(shù)據(jù)還原到內存中組成二叉樹結構,而文件中元素與元素之間的結構是線性,而且直接對文件中的數(shù)據(jù)操作很不方便,所以將文件中的元素存儲在單鏈表中,再對單鏈表操作還原成內存中的二叉樹。本家譜主要包括兩個模塊,第一個是文件操作功能模塊,此模塊實現(xiàn)了家譜記錄輸入、讀取存盤記錄、清除家譜存盤記錄、添加成員、存盤、修改家譜成員信息、刪除家譜成員等七大功能;第二個是家譜操作功能模塊,實現(xiàn)了查找某人記錄、查找某人的孩子、查找某人的祖先、用括號表示法輸出家譜、用凹入表示法輸出家譜等六大功能。初始化:用戶可輸入一個家族的族譜,輸入完成之后可保存在文件中。操作完成之后可保存在文件中。: 一.問題描述 本課程設計的主要問題是選擇一種數(shù)據(jù)結構來描述家譜中家族成員之間的關系,在此數(shù)據(jù)結構上加之一些操作,選用特定的算法來實現(xiàn)家譜操作的功能和文件操作的功能。 具體要求: (1) 文件操作功能:記錄輸入、記錄輸出、清除全部文件記錄和將家譜記錄存盤。 三.概要設計 1.數(shù)據(jù)結構的設計 在家譜課程設計中采用二叉樹來表示家譜關系,由于在家譜中每個家族成員的子女不止一個,而雙親只有一個,所以采用二叉樹結構來描述家族成員之間的關系。 在對家譜的文件操作中,為了還原家譜方便,采用按層遍歷的順序保存二叉樹中各結點的信息,在層次遍歷中,使用隊列來實現(xiàn)二叉樹的層次遍歷。 家譜操作模塊: 1)Binarytnode* Binarytree::bulid(Binarytnode* p,int num);//輸入家譜,形參p為二叉樹根結點的地址,形參num為結點的編號,建立二叉樹并返回這棵二叉樹的根結點的地址。 2)Binarytnode* Binarytree::searchRecord(string name);//形參name要查找的姓名,按姓名查找某人記錄,若找到記錄則返回該節(jié)點的地址,反之,則返回一個空指針。首先判斷二叉樹的根結點是否為為空,若為空則不進行查找。若匹配則返回該結點的地址,若不匹配,則刪除隊頭元素將它的左右孩子入隊列(左右孩子不空的情況下),進行循環(huán)。 3)void Binarytree::searchChild(string name);//形參name要查找的姓名,按姓名查找某人的孩子,若找到記錄則顯示該節(jié)點孩子的姓名,反之,則提示未找到信息。 4)void Binarytree::searchParent(string name);//形參name要查找的姓名,按姓名查找某人的祖先,若找到記錄則按輩份從小到大顯示該節(jié)點的祖先,反之,則提示未找到信息。 5)void Binarytree::addRecord(string parent,string name);//插入家族成員記錄,形參parent為要插入的家族成員的雙親姓名,形參name為要插入家族成員的姓名。若不為空,再判斷它的右子樹是否為空,若為空則按建立左孩子的同樣的方法建立右孩子。 6)void Binarytree::change(string name);//修改家族成員的信息,行參name為要修改的家族成員的姓名。 7)v
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1