![公園景點(diǎn)導(dǎo)游問題Dijkstra求最短路徑Word版_第1頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/1/f97d059e-3d45-45a9-a1f1-3a026ba6c9b5/f97d059e-3d45-45a9-a1f1-3a026ba6c9b51.gif)
![公園景點(diǎn)導(dǎo)游問題Dijkstra求最短路徑Word版_第2頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/1/f97d059e-3d45-45a9-a1f1-3a026ba6c9b5/f97d059e-3d45-45a9-a1f1-3a026ba6c9b52.gif)
![公園景點(diǎn)導(dǎo)游問題Dijkstra求最短路徑Word版_第3頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/1/f97d059e-3d45-45a9-a1f1-3a026ba6c9b5/f97d059e-3d45-45a9-a1f1-3a026ba6c9b53.gif)
![公園景點(diǎn)導(dǎo)游問題Dijkstra求最短路徑Word版_第4頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/1/f97d059e-3d45-45a9-a1f1-3a026ba6c9b5/f97d059e-3d45-45a9-a1f1-3a026ba6c9b54.gif)
![公園景點(diǎn)導(dǎo)游問題Dijkstra求最短路徑Word版_第5頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/1/f97d059e-3d45-45a9-a1f1-3a026ba6c9b5/f97d059e-3d45-45a9-a1f1-3a026ba6c9b55.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、傳播優(yōu)秀Word版文檔 ,希望對您有幫助,可雙擊去除!公園主要游覽景點(diǎn)導(dǎo)游問題。問題描述:對某公園主要游覽景點(diǎn)導(dǎo)游。功能需求:要求完成以下功能:1.將公園內(nèi)各景點(diǎn)輸出。2.將公園內(nèi)每兩個位置(若兩個位置之間有直接路徑)的距離輸出。3.修改:修改兩個位置(若兩個位置之間有直接路徑)的距離,并重新輸出每兩個位置(若兩個位置之間有直接路徑)的距離;4.求最短路徑:輸出給定兩點(diǎn)之間的最短路徑的長度及途經(jīng)的地點(diǎn),輸出任意一點(diǎn)與其他各點(diǎn)的最短路徑;5.刪除:刪除任意一條邊。6.插入:插入任意一條邊。代碼#include #include #include #include #include #includ
2、e #define MAX 1000#define LENGTH 6#define value int typedef struct char name30; int num; VEXTYPE; typedef struct VEXTYPE vexsLENGTH; value arcsLENGTHLENGTH; int vexnum,arcnum ; MGraph;MGraph b; MGraph InitGraph() int i, j; MGraph G;G.vexnum =6; /初始景點(diǎn)數(shù)為6,即圖的頂點(diǎn)數(shù)G.arcnum =15; /初始景點(diǎn)最大路徑數(shù)為15 ,即圖的最大邊數(shù)for(
3、i=0;iG.vexnum;i+) G.vexsi.num=i; strcpy(G.,景點(diǎn)A); /景點(diǎn)Astrcpy(G.,景點(diǎn)B); /景點(diǎn)Bstrcpy(G.,景點(diǎn)C); /景點(diǎn)Cstrcpy(G.,景點(diǎn)D); /景點(diǎn)Dstrcpy(G.,景點(diǎn)E); /景點(diǎn)Estrcpy(G.,景點(diǎn)F); /景點(diǎn)Ffor(i=0;iG.vexnum;i+) for(j=0;jG.vexnum;j+) G.arcsij=MAX;G.arcs01=50; /景點(diǎn)A與景點(diǎn)B的距離為 50G.
4、arcs02=20; /景點(diǎn)A與景點(diǎn)C的距離為 20G.arcs03=30; /景點(diǎn)A與景點(diǎn)D的距離為 30G.arcs12=10; /景點(diǎn)B與景點(diǎn)C的距離為 10G.arcs14=70; /景點(diǎn)B與景點(diǎn)E的距離為 70G.arcs25=90; /景點(diǎn)C與景點(diǎn)F的距離為 90G.arcs35=40; /景點(diǎn)D與景點(diǎn)F的距離為 40G.arcs45=50; /景點(diǎn)E與景點(diǎn)F的距離為 50for(i=0;iG.vexnum;i+) for(j=0;jG.vexnum;j+) G.arcsji=G.arcsij;return G;void Menu() /功能需求選項(xiàng)菜單 cout*功能需求選項(xiàng)菜單
5、*n; cout 1-輸出公園內(nèi)景點(diǎn)n; cout 2-輸出每兩個直接相連景點(diǎn)的距離n; cout 3-修改兩個景點(diǎn)距離n; cout 4-兩景點(diǎn)之間最短路徑n; cout 5-刪除某條邊(兩個直接相連景點(diǎn)的連線)n; cout 6-插入某條邊n; cout 0-退出n; cout*某公園主要游覽景點(diǎn)導(dǎo)游*n; void PutOutVex(MGraph *G) /功能 1 輸出公園內(nèi)景點(diǎn)cout公園內(nèi)各景點(diǎn)endl;for(int i=0;ivexnum;i+) endl; void PutOutArc(MGraph *G) /功能 2 輸出公園內(nèi)每兩個直接相連景
6、點(diǎn)的距離for(int i=0;ivexnum;i+) for(int j=0;jvexnum;j+) if(G-arcsijMAX) cout 的距離為 arcsijendl; void Change(MGraph *G) /功能 3 修改:修改兩個景點(diǎn)距離(權(quán)值) int v0,v1,length; coutv0; cinv1; coutlength; G-arcsv0v1=G-arcsv1v0=length;void Dijkstra(MGraph * G) /功能 4.求最短路徑 輸出給定兩景點(diǎn)之間的最短路徑的長度及途經(jīng)的各景點(diǎn) /使用Dijks
7、tra算法求解最短路徑 int v,w,i,min,t=0,x,v0,v1; int final20, D20, p2020; coutv0; if(v0G-vexnum) coutv0; coutv1; if(v1G-vexnum) coutv1; for(v=0;vvexnum;v+) finalv=0; Dv=G-arcsv0v; for(w=0;wvexnum;w+) pvw=0; if(DvMAX) pvv0=1;pvv=1; Dv0=0;finalv0=1; for(i=1;ivexnum;i+) min=MAX; for(w=0;wvexnum;w+) if(!finalw) i
8、f(Dwmin)v=w;min=Dw; finalv=1; for(w=0;wvexnum;w+) if(!finalw&(min+G-arcsvwarcsvw; for(x=0;xvexnum;x+) pwx=pvx; pww=1; cout從到的最短路徑長度為:Dv1endl; cout途經(jīng)的景點(diǎn):endl; for(int j=0;jvexnum;j+) if(pv1j=1) endl; void DeleteArc(MGraph *G) /功能 5 刪除:刪除任意一條邊。 int v0,v1; coutv0v1;
9、G-arcsv0v1=MAX; G-arcsv1v0=MAX;void InsertArc(MGraph *G) /功能 6 插入:插入任意一條邊。 int v0,v1,l=0; coutv0v1; coutl; G-arcsv0v1=l; G-arcsv1v0=l;void main() int a; b=InitGraph(); Menu(); cina; while(a!=0) switch(a) case 1:PutOutVex(&b);Menu();break; case 2:PutOutArc(&b);Menu();break; case 3:Change(&b);Menu();break; case 4:Dijkstra(&b);Menu();break; case 5:DeleteArc(&b);Menu();break; case 6:InsertArc(&b);Menu();break; case 0:exit(1);break; default:break; cina; 附錄; 截圖菜單顯示功能1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國鍛造熱擠壓用感應(yīng)加熱設(shè)備行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025至2031年中國警告燈行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年蓋諾真項(xiàng)目可行性研究報(bào)告
- 2025年樓梯電燈開關(guān)項(xiàng)目可行性研究報(bào)告
- 2025年旋轉(zhuǎn)發(fā)電手電筒項(xiàng)目可行性研究報(bào)告
- 2025年帶EL背光源鍵盤項(xiàng)目可行性研究報(bào)告
- 2025至2031年中國印鐵桶行業(yè)投資前景及策略咨詢研究報(bào)告
- 2025年刃銑刀項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國HDPE大口徑纏繞管生產(chǎn)線數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025至2030年首飾包裝物項(xiàng)目投資價值分析報(bào)告
- 長護(hù)險定點(diǎn)機(jī)構(gòu)自查報(bào)告
- 快消品公司銷售部薪酬績效方案(快消品公司銷售KPI績效考核指標(biāo))
- 2025年初中地理八年級上冊全冊重點(diǎn)知識點(diǎn)復(fù)習(xí)課件
- 化學(xué)第五單元化學(xué)反應(yīng)的定量關(guān)系大單元備課-2024-2025學(xué)年九年級化學(xué)人教版(2024)上冊
- PIR 灌注保溫裝飾板外墻保溫系統(tǒng)應(yīng)用技術(shù)規(guī)程規(guī)程征求意見稿
- 2024年中國網(wǎng)球游戲機(jī)市場調(diào)查研究報(bào)告
- 2024年日歷表電子版(帶農(nóng)歷-含周數(shù)-周一開始-打印版)
- 三年級上冊科學(xué)全冊知識點(diǎn)2024年新青島版六三制
- DLT5155-2016 220kV~1000kV變電站站用電設(shè)計(jì)技術(shù)規(guī)程
- 2024年全國期貨從業(yè)資格之期貨投資分析考試歷年考試題(詳細(xì)參考解析)
- 產(chǎn)品生產(chǎn)及供貨方案(2篇)
評論
0/150
提交評論