




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、最短路徑及其他路徑#include<iostream>using namespace std;#define MAXSIZE 200#define m 999#define n 999typedef structint i,j,di; Queue;Queue StackMAXSIZE,PathMAXSIZE;/棧和存放最短路徑長度的數(shù)組 int top=-1,count=1,minlen=MAXSIZE;/棧頂指針,路徑計數(shù)器,最短路徑長度 const int move42= -1,0,0,1,1,0,0,-1; int markmn; /標(biāo)志數(shù)組 int mazemn; /迷宮數(shù)
2、組 int i1=1,j1=1,i2=10,j2=10,m1=11,n1=11; /入口,出口坐標(biāo),迷宮大小void Init_maze(); /初始化系統(tǒng)自帶迷宮void NewCreat(); /新建迷宮void Put_in(); /輸入進出口void PutOut_all(); /找所有路徑和最短路徑并輸出所有路徑void PutOut_Grap(); /輸出迷宮圖形void Migong(); /使用迷宮void main()cout<<"*歡迎使用迷宮系統(tǒng)*n"while(1)int i; cout<<"請選擇你要的操作:n&q
3、uot; <<"1.使用系統(tǒng)自帶迷宮n" <<"2.使用新建迷宮n"<<"0.退出n"cout<<"請輸入:"cin>>i;switch(i)case 1: Init_maze();Migong();break;case 2: NewCreat();Migong();break;case 0: return;default :cout<<"*輸入錯誤,請重新輸入!*n"break;/主函數(shù)void Init_maze()in
4、t i;for(i=0;i<=m1;i+)for(int j=0;j<=n1;j+)mazeij=1;markij=0;for(i=1;i<=6;i+)maze1i=0;maze18=maze21=maze23=0;for(i=6;i<=10;i+)maze2i=0;maze31=maze33=maze36=maze310=0;maze41=maze49=maze410=maze51=0;for(i=3;i<=7;i+)maze4i=0; for(i=1;i<=3;i+)maze6i=0;for(i=7;i<=10;i+)maze6i=0;maze65
5、=maze71=maze75=maze76=0;maze77=maze93=maze98=maze910=0;for(i=1;i<=5;i+)maze8i=0;for(i=8;i<=10;i+)maze8i=0;maze108=maze64=maze87=maze1010=0;/構(gòu)建系統(tǒng)迷宮void Migong()cout<<"*歡迎使用迷宮*n"while(1)int i;cout<<"請選擇你要的操作:n" <<" 1.輸出所有路徑及最短路徑n"<<" 0.返
6、回上一級菜單n" cout<<"請輸入:"cin>>i;cout<<"-n"switch(i)case 1: Put_in();PutOut_all();break;case 0: return;default :cout<<"*輸入錯誤,請重新輸入!*n"break;/系統(tǒng)自帶迷宮操作函數(shù)void PutOut_Grap()int i; cout<<"迷宮圖形:"<<endl;for(i=1;i<2*m1;i+)cout<
7、;<"_"cout<<endl;for(i=1;i<m1;i+)for(int j=1;j<n1;j+)cout<<" "<<mazeij;cout<<endl;for(i=1;i<2*m1;i+)cout<<"-"cout<<endl;cout<<"共"<<m1-1<<"行,"<<n1-1<<"列"<<end
8、l;/輸出迷宮的圖形void Put_in()int p,q;PutOut_Grap();cout<<"請選擇你的入口(i1,j1):"cin>>p>>q;i1=p;j1=q;cout<<"請選擇你的出口(i2,j2):"cin>>p>>q;i2=p;j2=q;/輸入迷宮的進出口void PutOut_all()int i,j,di,find,k;top+;Stacktop.i=i1;Stacktop.j=j1;Stacktop.di=-1;marki1j1=1;while(top&
9、gt;-1) /尋找路徑i=Stacktop.i;j=Stacktop.j;di=Stacktop.di;if(i=i2&&j=j2) /找到一條路徑則輸出cout<<"*n"cout<<"路徑"<<count+<<":n"cout<<"("<<Stack0.i<<","<<Stack0.j<<")"for(k=1;k<=top;k+)cout&l
10、t;<"->("<<Stackk.i<<","<<Stackk.j<<")"if(k+1)%5=0)cout<<endl;cout<<endl;if(top+1<minlen)for(k=0;k<=top;k+)Pathk=Stackk;minlen=top+1;markStacktop.iStacktop.j=0;top-;i=Stacktop.i;j=Stacktop.j; di=Stacktop.di;find=0;while(di&
11、lt;4&&find=0) /確定將要移動的方向及路程di+;i=Stacktop.i+movedi0;j=Stacktop.j+movedi1;if(markij=0&&mazeij=0)find=1;if(find=1) /若有路可走則進棧Stacktop.di=di;top+;Stacktop.i=i;Stacktop.j=j;Stacktop.di=-1;markij=1;elsemarkStacktop.iStacktop.j=0;top-; cout<<"*n"cout<<"最短路徑如下:n&qu
12、ot;<<"長度:"<<minlen<<endl;cout<<"路徑:n("<<Path0.i<<","<<Path0.j<<")"for(k=1;k<minlen;k+)cout<<"->("<<Pathk.i<<","<<Pathk.j<<")"if(k+1)%5=0)cout<<endl;cout<<endl;count=1;cout<<"*n"/輸出所有路徑void NewCreat()int h,l,i;cout<<"-n"cout<<"請輸入你的迷宮的行數(shù),列數(shù):"cin>>h>>l;m1=h+1;n1=l+1;for(i=0;i<=m1;i+)for(int j=0;j<
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)保險理賠流程規(guī)范合同
- 主要商品價格對比表(按品牌)
- 市場行情調(diào)研統(tǒng)計表
- 2025年應(yīng)用化學(xué)專業(yè)相關(guān)知識考核試卷及答案
- 2025年心血管內(nèi)科執(zhí)業(yè)醫(yī)師考試試卷及答案
- 2025年演藝與戲劇表演專業(yè)考試試卷及答案
- 2025年網(wǎng)絡(luò)技術(shù)與信息系統(tǒng)安全課程測試試題及答案
- 2025年大數(shù)據(jù)與商業(yè)智能在市場營銷中的應(yīng)用能力考試題及答案
- 2025年法律專業(yè)認證考試試題及答案
- 2025年甘肅省蘭州樹人中學(xué)教師招聘筆試參考題庫及參考答案詳解1套
- 高三化學(xué)二輪復(fù)習(xí)限定條件下同分異構(gòu)體的統(tǒng)計與書寫課件
- 《裝配式成品支吊架安裝驗收規(guī)程》
- 支付令申請書模板:工程款支付令
- 養(yǎng)殖場消防知識講座
- 醫(yī)院感染風(fēng)險評估表(適用于病房、換藥室、治療室、注射室)
- GA 2093-2023公安機關(guān)警務(wù)輔助人員工作證內(nèi)卡技術(shù)規(guī)范
- 兩辦意見八硬措施煤礦安全生產(chǎn)條例宣貫學(xué)習(xí)課件
- 危化品運輸車輛的GPS監(jiān)控與追蹤系統(tǒng)
- 地下礦山常見安全隱患的排查和處置
- 招標(biāo)程序和《必須招標(biāo)的工程項目規(guī)定》解讀-必須招標(biāo)的項目課件
- (完整版)QQ三國副職及日常物品成本計算表v1.0
評論
0/150
提交評論