下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、#define INFINITY 0#define INF32767#define MAX_NUM 20#define MAXV 100#include<stdio.h>typedef char VRType;typedef enumDG=1,DN,UDG,UDNGraphKind;typedef struct ArcCell VRType adj;ArcCell *info;AdjMatrixMAX_NUMMAX_NUM;typedef struct VRType vexsMAX_NUM;AdjMatrix arcs;int vexnum,arcnum;GraphKind kin
2、d;MGraph;void PRIN(MGraph &G);int LocateVex(MGraph &G,VRType v1);int FirstAdjVex(MGraph &G,int v);int NextAdjVex(MGraph &G,int v,int w);void CreateUDN(MGraph &G)int i,j,k,w; VRType v1,v2; G.kind =UDN; printf("構(gòu)造無向網(wǎng)n");printf("G.vexnum:"); scanf("%d",
3、&G.vexnum );printf("G.arcnum:"); scanf("%d",&G.arcnum );getchar();for(i=0;i<G.vexnum ;i+)printf("G.vexs%d:",i);sscanf("%c",&G.vexs i);getchar();for(i=0;i<G.vexnum ;+i)for(j=0;j<G.vexnum ;+j)G.arcs ij.adj =INFINITY;G.arcs =NULL; for
4、(k=0;k<G.vexnum ;+k) printf("v1(char):"); scanf("%c",&v1);getchar();printf("v2(char):"); scanf("%c",&v2);getchar();printf("w(int):"); scanf("%d",&w);getchar();i=LocateVex(G,v1); j=LocateVex(G,v2); G.arcs ij.adj=w; G.arcs ji.a
5、dj=G.arcs ij.adj; int LocateVex(MGraph &G,VRType v1)int i;for(i=0;i<G.vexnum ;i+) if(v1=G.vexs i)return i;return -i;void CreateDN(MGraph &G)int i,j,k,w; VRType v1,v2;G.kind =DN;printf("構(gòu)造有向網(wǎng)n");printf("G.vexnum:"); scanf("%d",&G.vexnum );printf("G.ar
6、cnum:"); scanf("%d",&G.arcnum );getchar();for(i=0;i<G.vexnum ;i+)printf("G.vexs%d:",i);scanf("%c",&G.vexs i);getchar();for(i=0;i<G.vexnum ;+i)for(j=0;j<G.vexnum ;+j)G.arcs ij.adj =INFINITY;G.arcs =NULL; for(k=0;k<G.vexnum ;+k) printf(&qu
7、ot;v1(char):"); scanf("%c",&v1);getchar();printf("v2(char):"); scanf("%c",&v2);getchar();printf("w(int):"); scanf("%d",&w);getchar();i=LocateVex(G,v1); j=LocateVex(G,v2); G.arcs ij.adj=w; void CreateDG(MGraph &G)int i,j,k; VRType
8、 v1,v2;G.kind=DG;printf("構(gòu)造有向網(wǎng)n");printf("G.vexnum:"); scanf("%d",&G.vexnum );printf("G.arcnum:"); scanf("%d",&G.arcnum );getchar();for(i=0;i<G.vexnum ;i+)printf("G.vexs%d:",i); scanf("%c"),&G.vexs i; getchar();for(
9、i=0;i<G.vexnum ;+i)for(j=0;j<G.vexnum ;+j)G.arcs ij.adj =INFINITY;G.arcs =NULL;for(k=0;k<G.arcnum ;+k)printf("v1(char):"); scanf("%c",&v1);getchar();printf("v2(char):"); scanf("%c",&v2);getchar();i=LocateVex(G,v1);j=LocateVex(G,v2);G.ar
10、csij.adj=1;void CreateUDG(MGraph&G)int i,j,k;VRType v1,v2;G.kind=UDG;printf("構(gòu)造無向圖n");printf("G.vexnum:");scanf("%d",&G.vexnum);printf("G.arcnum:");scanf("%d",&G.arcnum);getchar();for(i=0;i<G.vexnum;i+)printf("G.vexs%d:",i);s
11、canf("%c",&G.vexsi);getchar();for(i=0;i<G.vexnum;+i) for(j=0;i<G.vexnum;+j)G.arcsij.adj=INFINITY;G.=NULL; for(k=0;i<G.vexnum;+k)printf("v1(char:)");scanf("%c",&v1);getchar(); printf("v2(char:)");scanf("%c",&v2);getchar
12、(); i=LocateVex(G,v1);j=LocateVex(G,v2); G.arcsij.adj=1; G.arcsji.adj=G.arcsij.adj;void CreateGraph(MGraph &G)printf("1:有向圖 2:有向網(wǎng) 3:無向圖 4:無向網(wǎng)n"); scanf("%d",&G.kind); switch(G.kind) case DG:CreateDG(G);PRIN(G);break; case DN:CreateDN(G);PRIN(G);break; case UDG:CreateUDG(G
13、);PRIN(G);break; case UDN:CreateUDN(G);PRIN(G);break; default:printf("ERROR");break; bool visitedMAX_NUM;void DFS(MGraph &G,int v)int w;true;for (w=FirstAdjVex(G,v);w>=0;w=NextAdjVex(G,v,w)if(!visitedw)DFS(G,w);void DFSTraverse(MGraph &G,int v)int i;for(i=0;i<G.vexnum;+i)visi
14、tedi=false;for(i=0;i<G.vexnum;+i)DFS(G,v);int FirstAdjVex(MGraph&G,int v)int i,w; for(i=0;i<G.vexnum;+i)if(G.arcsvi.adj!=0)w=i;break;return w;void PRIN(MGraph&G)int i,j;for(i=0;i<G.vexnum;+i) for(j=0;i<G.vexnum;+j) printf("%5d",G.arcsii.adj);printf("n");void B
15、FSTraverse(MGraph &G,int v)int queueMAX_NUM,front=0,rear=0;int i,w,u;for(i=0;i<G.vexnum;+i)visitedi=false;for(i=0;i<G.vexnum;+i) if(!visitedi)visitedi=true;printf("%4c",G.vexsv);rear=(rear+1)%MAX_NUM;queuerear=i;while(front!=rear)front=(front+1)%MAX_NUM;u=queuefront;for (w=FirstAdjVex(G,u);w>=0;w=NextAdjVex(G,u,w)if(!visitedw)visitedw=true;printf("%4c",G.vexsw);rear=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 師德師風(fēng)教育演講稿
- 易錯(cuò)點(diǎn)糾錯(cuò)練07 動(dòng)詞時(shí)態(tài)、語態(tài)易錯(cuò)點(diǎn)-備戰(zhàn)2025年高考英語考試易錯(cuò)題含解析
- 年度員工發(fā)言稿(合集15篇)
- 南方家居產(chǎn)品知識(shí)
- 第1課《沁園春 雪》 統(tǒng)編版語文九年級(jí)上冊(cè)
- 年會(huì)的致詞(范文8篇)
- 硫化鉛量子點(diǎn)輔助近紅外二區(qū)熒光成像技術(shù)在熒光成像引導(dǎo)切除宮頸腫瘤的應(yīng)用研究
- 二零二五年個(gè)人企業(yè)股權(quán)代持補(bǔ)充協(xié)議2篇
- 應(yīng)急預(yù)案的地質(zhì)災(zāi)害防治
- 鐘表行業(yè)維修技巧培訓(xùn)總結(jié)
- 【人教版化學(xué)】必修1 知識(shí)點(diǎn)默寫小紙條(答案背誦版)
- 江蘇省無錫市2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題(原卷版)
- 對(duì)口升學(xué)語文模擬試卷(10)-江西?。ń馕霭妫?/a>
- 2024年全國統(tǒng)一高考數(shù)學(xué)試卷(新高考Ⅱ)含答案
- 一年級(jí)二年級(jí)奧數(shù)暑期培優(yōu)題庫
- 老年癡呆癥患者生活陪護(hù)協(xié)議
- 2024年-急診氣道管理共識(shí)課件
- 小學(xué)語文中段整本書閱讀的指導(dǎo)策略研究 中期報(bào)告
- 浙教版2023-2024學(xué)年數(shù)學(xué)八年級(jí)上冊(cè)期末復(fù)習(xí)卷(含答案)
- 運(yùn)動(dòng)訓(xùn)練與康復(fù)治療培訓(xùn)資料
- 老師呀請(qǐng)你別生氣教學(xué)反思
評(píng)論
0/150
提交評(píng)論