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

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)家譜管理系統(tǒng)(參考版)

2025-01-21 11:08本頁面
  

【正文】 每次課程設(shè)計(jì)都會(huì)有多多少少的收獲,這些收獲將成為以后學(xué)習(xí)中一筆不可或缺的財(cái)富。雖然不能達(dá)到完善系統(tǒng),但也做到了盡善盡美,加強(qiáng)理論學(xué)習(xí)對(duì)完善系統(tǒng)會(huì)有很多幫助。我的課程設(shè)計(jì)原先是只能從固定的一個(gè)文件讀入圖的信息,經(jīng)過修改,它可以通過直接代碼執(zhí)行來提取文件,使程序更加靈活,功能更加完善。在實(shí)驗(yàn)過程中,從需求分析,到概念設(shè)計(jì),懂得了不少有關(guān)項(xiàng)目建設(shè)的知識(shí),包括,插入、刪除、修改、查詢之間的聯(lián)系,都用到很多關(guān)鍵的知識(shí)點(diǎn)。但在清楚家譜存盤記錄的功能有一點(diǎn)缺陷,即執(zhí)行清除操作后,數(shù)據(jù)依然保存在內(nèi)存中,還能輸出記錄,需要重新啟動(dòng)程序加載記錄 后方能看到效果。 ()。 system(del )。 (,ios::out)。 displaytree2(rootright(),n+3)。 } }}12)用凹入法輸出家譜主要實(shí)現(xiàn)代碼:void Binarytree::displaytree2(Binarytnode* root,int n)//用遞歸來實(shí)現(xiàn)凹入法表示(功能n的主要實(shí)現(xiàn)函數(shù)){ if(root!=NULL) { coutsetw(3*n)rootGetname()endl。 displaytree1(rootright())。 displaytree1(rootleft())。 } }}11)括號(hào)輸出法主要實(shí)現(xiàn)代碼:void Binarytree::displaytree1(Binarytnode* root) //用遞歸來實(shí)現(xiàn)括號(hào)法表示(功能k的主要實(shí)現(xiàn)函數(shù)){ if(root!=NULL) { coutrootGetname()。//顯示它的雙親 p=pparent()。 p=pparent()。//查找結(jié)點(diǎn) if(p!=NULL) { if(pparent()==NULL)cout此人沒有雙親!endl。 { Binarytnode* p。//顯示它的右孩子 } else { coutpGetname()無右孩子!endl。 } if(pright()!=NULL) { coutpGetname()的右孩子的姓名為:endl。 coutpleft()Getname()endl。 p=searchRecord(name)。 } return NULL。//左孩子結(jié)點(diǎn)入隊(duì)列 if(pright()!=NULL) (pright())。 } ()。//根結(jié)點(diǎn)入隊(duì)列 while(!()) { p=()。 //Q為隊(duì)列,隊(duì)列元素是二叉樹結(jié)點(diǎn)指針 Binarytnode* p。 } return p。 } if(m!=NULL) { pright()=load(m,p)。amp。 } m=headGetnext()。 } if(m!=NULL) { pleft()=load(m,p)。amp。 pparent()=parent。 pGetname()=headGetname()。 node* m。 } }}7)讀取存盤記錄主要實(shí)現(xiàn)代碼:Binarytnode* Binarytree::load(node* head,Binarytnode* parent)//將單鏈表還原為二叉樹(功能2的主要實(shí)現(xiàn)函數(shù)){ Binarytnode* p。 } delete p。 if(qleft()==p) { qleft()=NULL。amp。 p=searchRecord(name)。 cout記錄修改成功!endl。 cinstr。 p=searchRecord(name)。}5) 修改家譜成員信息主要實(shí)現(xiàn)代碼:void Binarytree::change(string name)//修改家譜成員的姓名(功能6的主要實(shí)現(xiàn)函數(shù)){ string str。//左孩子結(jié)點(diǎn)入隊(duì)列 if(pright()!=NULL) (pright())。 ()。\n39。 abort()。//取隊(duì)頭元素 (,ios::app|ios::out)。 if(root!=NULL) { (root)。//清空文件內(nèi)容 queueBinarytnode*Q。 ()。 } } } }}4) 存盤主要實(shí)現(xiàn)代碼:void Binarytree::save(Binarytnode* root)//以層次遍歷的順序保存二叉樹各結(jié)點(diǎn)(功能5的主要實(shí)現(xiàn)函數(shù)){ fstream outfile。amp。 cout添加成功!endl。 pGetnumber()=2*(qGetnumber())+1。 } else { if(qright()==NULL)//右子樹操作 { qright()=p。//新加結(jié)點(diǎn)編號(hào) pparent()=q。 pGetname()=name。//定義指針 p=new Binarytnode。 q=searchRecord(parent)。//無左子樹則左孩子指針賦為空 } return m。 mright()=bulid(m,2*num+1)。y39。Y39。 cinn。//遞歸調(diào)用建立左子樹 } else { mleft()=NULL。) //判斷是否有右子樹 { cout輸入他左孩子的姓名:endl。||n==39。 if(n==39。 //獲取節(jié)點(diǎn)的編號(hào) coutmGetname()是否有左孩子(Y/N):。 mparent()=p。 cinname。//定義m指針 m=new Binarytnode。 //錯(cuò)誤操作后直接顯示菜單 } }}2)家譜記錄輸入:主要實(shí)現(xiàn)代碼:Binarytnode* Binarytree::bulid(Binarytnode* p,int num) //輸入家譜,用遞歸來建立二叉樹(功能1的主要實(shí)現(xiàn)函數(shù)){ char n。 //退出 default: cout錯(cuò)誤操作!endl。039。break。 (
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1