




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、#include "stdlib.h"#include "stdio.h"#include "malloc.h"#define INFINITY 32767#define MAX_VERTEX_NUM 20typedef enumFALSE,TRUEvisited_hc;typedef enumDG,DN,UDG,UDNgraphkind_hc;typedef struct arccell_hcint adj;int *info;arccell_hc,adjmatrix_hcMAX_VERTEX_NUMMAX_VERTEX_NUM;t
2、ypedef structchar vexsMAX_VERTEX_NUM;adjmatrix_hc arcs;int vexnum,arcnum;graphkind_hc kind;mgraph_hc;typedef struct arcnode_hcint adjvex;struct arcnode_hc *nextarc;int *info;arcnode_hc;typedef struct vnode_hcchar data;arcnode_hc *firstarc;vnode_hc,adjlist_hcMAX_VERTEX_NUM;typedef structadjlist_hc ve
3、rtices;int vexnum,arcnum;graphkind_hc kind;algraph_hc;int locatevex_hc(mgraph_hc*g,char v)int i,k=0;for(i=0;i<g->vexnum;i+)if(g->vexsi=v)k=i;i=g->vexnum;return(k);mgraph_hc*createudg_hc()mgraph_hc*g;char v1,v2;int i,j,incinfo;g=(mgraph_hc*)malloc(sizeof(mgraph_hc);g->kind=UDG;printf(&
4、quot;請(qǐng)輸入圖頂點(diǎn)數(shù)、邊數(shù)及該邊相關(guān)信息:");scanf("%d %d %d",&g->vexnum,&g->arcnum,&incinfo);printf("請(qǐng)輸入頂點(diǎn)信息:");flushall();for(i=0;i<g->vexnum;+i)scanf("%c",&g->vexsi);for(i=0;i<g->vexnum;+i)for(j=0;j<g->vexnum;+j)g->arcsij.adj=0;printf(
5、"輸入一條邊依附的頂點(diǎn):n");flushall();scanf("%c%c",&v1,&v2);while(v1!='#'&&v2!='#')i=locatevex_hc(g,v1);j=locatevex_hc(g,v2);g->arcsij.adj=1;if(incinfo)g->=&incinfo;g->arcsji.adj=g->arcsij.adj;g->=g->;flu
6、shall();scanf("%c%c",&v1,&v2);return(g);visited_hc visMAX_VERTEX_NUM;int firstadjvex_hc(mgraph_hc*g,int v)int i,k=-1;for(i=0;i<g->vexnum;i+)if(g->arcsvi.adj=1)k=i;i=g->vexnum;return(k);int nextadjvex_hc(mgraph_hc*g,int v,int w)int i,k=-1;for(i=0;i<g->vexnum;i+)if(
7、g->arcsvi.adj=1&&i>w)k=i;i=g->vexnum;return(k);void dfs_hc(mgraph_hc*g,int v)int w;visv=TRUE; printf("%c",g->vexsv);for(w=firstadjvex_hc(g,v);w>=0;w=nextadjvex_hc(g,v,w)if(!visw)dfs_hc(g,w);void dfstraverse_hc(mgraph_hc*g)int v,i;char f;for(v=0;v<g->vexnum;v+)v
8、isv=FALSE;printf("輸入遍歷開(kāi)始頂點(diǎn):");flushall();scanf("%c",&f);i=locatevex_hc(g,f);printf("深度遍歷結(jié)果為:");for(v=i;v<g->vexnum;v+)if(!visv)dfs_hc(g,v);for(v=0;v<i;v+)if(!visv)dfs_hc(g,v);int locatevexal_hc(algraph_hc*a,char v)int i,k=0;for(i=0;i<a->vexnum;i+)if(a
9、->verticesi.data=v)k=i;i=a->vexnum;return(k);char createlist_hc(algraph_hc*a,arcnode_hc*firstl,char v)arcnode_hc*nextl;if(v!='n')nextl=(arcnode_hc*)malloc(sizeof(arcnode_hc);nextl->adjvex=locatevexal_hc(a,v);nextl->nextarc=NULL;nextl->info=firstl->info;firstl->nextarc=ne
10、xtl;scanf("%c",&v);v=createlist_hc(a,nextl,v);return(v);algraph_hc*createaludg_hc()algraph_hc*a;int i,incinfo;char v;a=(algraph_hc*)malloc(sizeof(algraph_hc);a->kind=UDG;printf("請(qǐng)輸入圖頂點(diǎn)數(shù)、邊數(shù)及該邊相關(guān)信息:");scanf("%d %d %d",&a->vexnum,&a->arcnum,&incinf
11、o);printf("請(qǐng)輸入頂點(diǎn)信息:");flushall();for(i=0;i<a->vexnum;+i)scanf("%c",&a->verticesi.data);for(i=0;i<a->vexnum;+i)printf("輸入%c的鄰接點(diǎn):",a->verticesi.data);flushall();scanf("%c",&v);a->verticesi.firstarc=(arcnode_hc*)malloc(sizeof(arcnode_
12、hc);a->verticesi.firstarc->adjvex=locatevexal_hc(a,v);a->verticesi.firstarc->nextarc=NULL;if(incinfo)a->verticesi.firstarc->info=&incinfo;scanf("%c",&v);v=createlist_hc(a,a->verticesi.firstarc,v);return(a);visited_hc visMAX_VERTEX_NUM;void dfsal_hc(algraph_hc*a
13、,arcnode_hc*b,int k)visk=TRUE;printf("%c",a->verticesk.data);while(b)k=b->adjvex;if(!visk)b=a->verticesk.firstarc;dfsal_hc(a,b,k);else b=b->nextarc;void dfstraverseal_hc(algraph_hc*a)char f;int i=0,k;for(i=0;i<a->vexnum;i+)visi=FALSE;printf("遍歷開(kāi)始頂點(diǎn):");flushall()
14、;scanf("%c",&f);k=locatevexal_hc(a,f);printf("深度遍歷結(jié)果:");for(i=k;i<a->vexnum;i+)if(!visk)dfsal_hc(a,a->verticesi.firstarc,i);for(i=0;i<k;i+)if(!visk)dfsal_hc(a,a->verticesi.firstarc,i);void main()algraph_hc*a;mgraph_hc*g;char c;printf("鄰接矩陣(M)n");printf("鄰接表(A)n");printf("請(qǐng)選擇:");c=getchar();wh
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 車(chē)輛租賃掛靠協(xié)議合同
- 2025年教育技術(shù)發(fā)展:《囊螢夜讀》課件新里程
- 土地轉(zhuǎn)讓合同書(shū)怎樣寫(xiě)(3篇)
- 2024年青海省西寧市中考一??荚嚨乩碓囶}(解析版)
- 建設(shè)工程安全協(xié)議書(shū)
- 產(chǎn)品拍攝指南:打造專(zhuān)業(yè)產(chǎn)品攝影效果
- 市場(chǎng)調(diào)研手冊(cè)市場(chǎng)研究分析與預(yù)測(cè)方法
- 高速公路邊坡綠化防護(hù)
- 辦公室設(shè)備故障排除
- 2025年四季之美課件:感悟季節(jié)的變遷
- 《營(yíng)養(yǎng)均衡膳食指南》課件
- 《數(shù)智化技術(shù)應(yīng)用與創(chuàng)新》課件 第1章 走進(jìn)數(shù)智化時(shí)代
- 2025年浙江省臺(tái)州機(jī)場(chǎng)管理有限公司招聘筆試參考題庫(kù)含答案解析
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫(kù)附帶答案詳解
- 2025年江蘇醫(yī)藥職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2025年常德職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 2024年江西青年職業(yè)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 綠色建筑材料在土木工程施工中的應(yīng)用研究
- 上海市2024-2025學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 摩托車(chē)維修管理制度模版(3篇)
- KCA數(shù)據(jù)庫(kù)試題庫(kù)
評(píng)論
0/150
提交評(píng)論