




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 重慶能源職業(yè)學院《概率論與統(tǒng)計》2023-2024學年第二學期期末試卷
- 海南大學《自然地理學方法之土壤生物》2023-2024學年第二學期期末試卷
- 楚雄彝族自治州永仁縣2025屆數(shù)學三下期末監(jiān)測模擬試題含解析
- 浙江省舟山市2024-2025學年高二上學期期末檢測英語試題(含聽力)
- 2025年高考歷史風標訓練卷3(含解析)
- 巖棉彩鋼板施工方案
- 儲罐焊縫返修施工方案
- 商丘醫(yī)用吊橋施工方案
- 2025年西醫(yī)護理學試題及答案
- 消防常識考試試題及答案
- 2024住院患者靜脈血栓栓塞癥預防護理與管理專家共識要點(全文)
- 2024年積分制管理實施方案及細則
- 新蘇教版科學六年級上實驗報告單
- 電動汽車自用樁安裝承諾書
- 2023年10月自考00150金融理論與實務試題及答案含解析
- 《直流電纜敷設安裝導則》
- 幼兒園課件:《黑夜我不怕》
- 2024年-急診氣道管理共識課件
- 2024年江蘇食品藥品職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及答案解析
- 活動招商合同
- 標準化法及相關(guān)知識課件
評論
0/150
提交評論