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

正文內(nèi)容

通訊錄管理系統(tǒng)_數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(參考版)

2024-09-02 12:27本頁面
  

【正文】 } 測試用例: 對 圖 — 1 有向圖進行拓撲排序,由于圖中存在回路,則無法得到拓撲序列 圖 — 1 2 0 3 4 1 28 對圖 — 2 有向圖進行拓撲排序,得到拓撲序列 實驗總結(jié): 通過對有向圖進行拓撲排序 讓 我了解 到 有向圖的鄰接矩陣和鄰接 表的存儲結(jié)構(gòu)以及它們之間的相互轉(zhuǎn)化,學會了對有向圖的拓撲排序算法, 與棧聯(lián)系起來找到拓撲序列 , 但 是, 這種 算法只能找到一條拓撲序列, 所以該算法仍需改進。 MatTolist(g, G)。 j++) scanf(%d, amp。 i++) for(j=0。 for(i=0。)。 printf(請輸入圖的頂點數(shù) :)。 ALGraph * G。 27 } } void main() { int i, j。 i++) printf(%d, a[i])。 for(i=0。 // 找下一個相鄰頂點 } } if (flagGn) printf(該圖存在回路,不存在拓撲序列 !\n)。 St[top] = j。 Gadjlist[j].count。 // 輸出頂點 p=Gadjlist[i].firstarc。 top。 St[top] = i。 iGn。 p=pnextarc。 i++) // 求所有頂點的入度 { p=Gadjlist[i].firstarc。 for (i=0。 iGn。 // 棧 St 的指針為 top ArcNode * p。 } void TopSort(ALGraph * G) { int i,j,flag=0,a[MAXV]。 Gadjlist[i].firstarc = p。 padjvex = j。 j=0。 in。 i++) Gadjlist[i].firstarc = NULL。 for (i=0。 ArcNode * p。 void MatTolist(MGraph g, ALGraph * amp。 // 鄰接表 int n。 // 指向第一條弧 }VNode, AdjList[MAXV]。 // 頂點信息 int count。 // 指向下一條 弧的指針 }ArcNode。 typedef struct ANode { int adjvex。 // 鄰接矩陣的邊數(shù)組 int n。 在具體實現(xiàn)拓撲排序的函數(shù)中,當某個頂點的入度為 0(沒有前驅(qū)頂點)時,就將此頂點輸出,同時將該頂點的所有后繼頂點的入度減 1,為了避免重復檢測入度為 0的頂點,設(shè)立一個棧 St,以存放入度為 0的頂點。編程過程需要很大的毅力和耐心,而且要有良好的思維和扎實的專業(yè)基礎(chǔ)知識,所以我需要不斷的學習,發(fā)現(xiàn)自身不足之處改正它,逐步提高自己。 } 設(shè)計總結(jié): 二叉樹是數(shù)據(jù)結(jié)構(gòu)的的基本內(nèi)容。PreOrder(b)。printf(\n)。 printf((2)層次遍歷序列: )。DispBTNode (b)。 CreateBTNode (b,a(b(d,e),c(f,g)) )。 PreOrder(brchild)。 } void PreOrder(BTNode *b)//用遞歸算法的先序遍歷函數(shù) { if(b!=NULL) { printf (%c,bdata)。 Qu[rear]=brchild。 } if(brchild!=NULL) { printf (%c,brchilddata)。 rear=(rear+1)%MaxSize。 b=Qu[front]。 23 Qu[rear]=b。 if(b!=NULL) printf(%c,bdata)。 int front,rear。 printf())。 if(brchild!=NULL)printf(,)。 if(blchild!=NULL||brchild!=NULL) { printf(()。 ch=str[j]。break。break。 if(b==NULL) b=p。 pdata=ch。break。,39。break。)39。break。St[top]=p。(39。\039。 ch=str[j]。 char ch。b,char *str)//創(chuàng)建二叉樹 { BTNode *St[MaxSize],*p=NULL。 }BTNode。 struct node *lchild。 } 4 源代碼 include include define MaxSize 100 typedef char ElemType。 PreOrder(blchild)。printf(\n)。 printf((3)先序遍歷序列: )。TravLevel(b)。printf(\n)。 printf((1)輸出二叉樹 :)。 二叉樹遍歷實現(xiàn)流程圖 3 設(shè)計實現(xiàn) 主函數(shù)設(shè)計 void main () 21 { BTNode * b,*p。 2. 建立二叉樹,層序、先序遍歷 設(shè)計目標 二叉樹 是一個重要的數(shù)據(jù)類型 , 通過建立一個鏈式存儲結(jié)構(gòu),能夠?qū)崿F(xiàn)前序遍歷,中序遍歷,后序遍歷。 ( 8) 進入主菜單選擇 0,程序提示用戶是否退出程序,如圖所示。選擇并錄入正確的信息后會提示用戶確認刪除。 18 ( 6) 在建表的基礎(chǔ)上,選擇 3,進行通訊者信息查詢出現(xiàn)提示“按編號查找”和“按姓名查找”,用戶根據(jù)需求進行選擇操作,如圖所示。 錄入完信息后,會提示是否繼續(xù),如果不在繼續(xù)則輸入“ n”程序 會返回主菜單界面,如果繼續(xù)則輸入“ y”程序會繼續(xù)執(zhí)行建表。 break。 getchar()。 default: printf(\t\t\n 輸入有錯,請重新輸入 !\n)。 getchar()。 printf(\n\n\n\n\t\t\t========謝謝使用!=========)。) { j=0。||choice==39。 if(choice==39。 } case 0: printf(是否退出( y/n) ?)。 PrintList(head)。 printf(* 通 訊 錄 鏈 表 的 輸 出 *\n)。 system(cls)。 } case 5: { if(flag1!=1) { printf(請先建立表 !)。 DelNode(head)。 printf(* 通 訊 錄 信 息 的 刪 除 *\n)。 system(cls)。 } case 4: { if(flag1!=1) { printf(請先建立表 !)。 } else printf(沒有查到要查詢的通訊者! \n)。 printf(%s,%s,%s,%s,%s\n,p,p,p,p,p)。 if (p!=NULL) { 14 printf(編號 姓 名 性別 聯(lián)系電話 地址 \n)。 printf(***********************************\n)。 } else { printf(***********************************\n)。
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1