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

正文內(nèi)容

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

2025-09-30 14:54 上一頁面

下一頁面
 

【正文】 apYear(int year)。 //保存提示 void InitListCtrl()。 pNode)。 hRootItem,HTREEITEMamp。 pNode,boolamp。 //家譜第一次被保存時的路徑 bool IsFamilytreeModified。 縱上所示,本程序的兩主要類為 CoperationFamilytree 類:所有對家譜的操作均由此類完成。T, amp。T)。T)。 return OK。 T=new PersonNode。 Tparent=0。 result=ReadNode(fp,T,parentname)。 } if(strcmp(T,parentname)==0){ //根結(jié)點名字與其父親名字 相同,說明為空樹 delete T。 //申請一結(jié)點 if(!temp){ //申請失敗 DestroyFamilytree()。amp。 } parentT=0。 if(cmp0){ //若孩子出生日期比父親大,則 不對 delete temp。 tempparent=parentT。 //parentname 的第一個孩子 }//if else{ //parentT 不存在 ,說明家譜中不 存在 parentname 此人 DestroyFamilytree()。 //釋放申請空間 return NOT_ENOUGH_MEMORY。 return OK。 if(pNode){ fprintf(fp,%s %d %d %d %d %s %d ,pNode,pNode, pNode,pNode ,pNode, pNode,pNode)。 fprintf(fp, %c,ch)。 //從根結(jié)點開始存儲家譜數(shù)據(jù) //置家譜數(shù)據(jù)結(jié)束標記 (一結(jié)點的名字與其父結(jié)點的名字同為 end) fprintf(fp,%s %d %d %d %d %s %d %s,end,1999,12, 2,1,end,1,end)。T, void (__cdecl *Visit)(FILE* fp,Person amp。 } } 3.按照姓名、出生日期查找家譜成員 void COperationFamilytree::Find(Personamp。 //對 T 的兄弟遞歸搜索 Find(Tchild,Tname,name)。amp。 //對 T 的兄弟遞歸搜索 Find(Tchild,Tname,month,day)。 ((),totalNums)。 } AfxMessageBox(排序后結(jié)果請見下部列表。itotalNums+1。 QuickSortNode* startaddr=order。 QuickSort(order,1,totalNums)。amp。 //樞軸記錄到位 order[low].oneself=order[high].oneself。 order[high]=order[low]。 if(lowhigh){ //長度大于 1 pivotloc=Partition(order,low,high)。T,intamp。 } } void COperationFamilytree::CopyInfoFromBiTreeToArray(Person amp。 order++。該類主要包括文件讀 取函數(shù)、創(chuàng)建孩子 —— 兄弟二叉樹函數(shù)、在樹中查找函數(shù)、遍歷函數(shù)以及對樹中結(jié)點迚行 加入、初除、修改的函數(shù)。從而導致調(diào)用這些函數(shù)時出現(xiàn)系統(tǒng)保護異常(使用了不安全 的指針)。一方面字符形式的界面友好性較差,另一方面顯示整 個家譜樹的信息時不方便。 Microsoft Visual C++ 。 —— 主程序?qū)崿F(xiàn)單元 amp?!?MFC 類實現(xiàn)及資源頭文件 amp。 —— 初除成員的實現(xiàn)單元 amp。 —— 顯示成員關(guān)系的實現(xiàn)單元 amp。 —— 按出生日期查找成員的實現(xiàn)單元 amp。 —— 資源文件 amp。 —— 家譜操作實現(xiàn) 單元 amp。 : 。用后效果不錯。故在程序代碼中 對初除某一結(jié)點迚行操作時,首先要刞斷此結(jié)點是否有孩子及兄弟,然后迚行相 應操作。 2.在調(diào)試時,遇到的幾個問題如下: ( 1)建立樹時,由于新申請結(jié)點的孩子指針、兄弟指針、及雙親指針均未賦空值。 CopyInfoFromBiTreeToArray(Tsibling,order)。order) { //本函數(shù)先序遍歷以 T為根結(jié)點的所有結(jié)點,并把每一個結(jié)點的出生日期信 息及其指針值 //依次存入順序表 order中 if(T){ (*order).birthday=T。 GetPersonNums(Tchild,personNums)。 //對低子表遞歸排序, pivotloc 是樞軸位置 QuickSort(order,pivotloc+1,high)。 //樞軸記錄到位 return low。amp。 order[low]=order[high]。 //用子表的第一個記錄做樞軸記錄 Date pivotkey=order[low].birthday。 GetPersonNums(T,totalNums)。 delete []order。 (order)。 if(!order){ AfxMessageBox(內(nèi)存不足 !)。 QuickSortNode* order。 Tname++。T, Person*amp。 Tname,char* name) { //本函數(shù)以 T 為根結(jié)點開始 ,搜索結(jié)點信息中名字等于 name 的結(jié)點 if(T){ //如果 T 存在 if(strcmp(T,name)==0) //T 結(jié)點姓名和 name 相同,把 T 結(jié) 點指針傳給 Tname Tname=T。 PreOrderTraverse(fp,Tchild,Visit)。 return OK。 if((fp=fopen(filename,w))==0) //打開文件 filename return WRITE_FILE_ERROR。 if(pNodeparent) //家譜結(jié)束 fprintf(fp, %s ,pNode parent)。pNode) { //本函數(shù)向文件 fp 中存取一結(jié)點 pNode char ch=39。 //繼續(xù)讀取數(shù)據(jù) }//while if(temp) delete temp。 } temp=new PersonNo
點擊復制文檔內(nèi)容
畢業(yè)設計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1