版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)結(jié)構(gòu)上機(jī)報(bào)告(迷宮)迷宮求解小組成員問(wèn)題提出:利用棧結(jié)構(gòu)實(shí)現(xiàn)迷宮求解問(wèn)題。迷宮求解問(wèn)題如下:
心理學(xué)家把一只老鼠從一個(gè)無(wú)頂蓋的大盒子的入口趕進(jìn)迷宮,迷宮中設(shè)置很多隔壁,對(duì)前進(jìn)方向形成了多處障礙,心理學(xué)家在迷宮的唯一出口放置了一塊奶酪,吸引老鼠在迷宮中尋找通路以到達(dá)出口,測(cè)試算法的迷宮如下圖所示:?jiǎn)栴}分析及算法設(shè)計(jì):1.迷宮中有障礙物的地方設(shè)置為1,沒(méi)有障礙物的地方設(shè)置為0;2.設(shè)起點(diǎn)下標(biāo)為(1,1),終點(diǎn)下標(biāo)為(10,8);3.從起點(diǎn)出發(fā)(起點(diǎn)入棧),棧中存放走過(guò)的路徑(坐標(biāo));4.每次取棧頂元素,在其上下左右中選一個(gè)能走通的且沒(méi)有走過(guò)的點(diǎn)入棧;5.若該點(diǎn)為終點(diǎn);則結(jié)束,輸出路徑;6.若上下左右都不通或已走過(guò),則出棧,???則走不通。程序設(shè)計(jì):用戶(hù)手冊(cè):運(yùn)行程序;根據(jù)提示,在“請(qǐng)輸入迷宮矩陣,<10*10>:”后輸入迷宮矩陣;按enter鍵,根據(jù)提示,在“請(qǐng)輸入起始點(diǎn)<0~9>:”后輸入起始點(diǎn);按enter鍵,根據(jù)提示,在“請(qǐng)輸入結(jié)束點(diǎn)<0~9>:”后輸入結(jié)束點(diǎn);按enter鍵,即可得出最短路徑的長(zhǎng)度和最短路徑的坐標(biāo)表示;關(guān)閉操作窗口,結(jié)束運(yùn)行。附圖例:調(diào)試報(bào)告:附錄:程序代碼:#include<iostream>usingnamespacestd;structPoint{ intx; inty; intpre;};voidCopy(Point&a,Point&b){ a.x=b.x; a.y=b.y; a.pre=b.pre;}structQueue{ Pointp[100]; inthead=0; inttail=0;};voidAppend(Queue&d,Pointp){ d.p[d.tail].x=p.x; d.p[d.tail].y=p.y; d.p[d.tail].pre=p.pre; d.tail++;}voidDelete(Queue&d,Point&a){ Copy(a,d.p[d.head]); d.head++;}structStack{ Pointq[100]; inthead=0;};voidpush(Stack&s,Pointp){ s.q[s.head].x=p.x; s.q[s.head].y=p.y; s.head++;}voidpop(Stack&s){ s.head--; cout<<"("<<s.q[s.head].x<<","<<s.q[s.head].y<<")"<<endl;}classMaze{public: Pointp0; Pointpn; intm[10][10]; inti=0; intl;public: voidInitp0(); voidInitpn(); voidpdp0pn(); voidInitM(); voidkz(Queue&Q,Pointa);};voidmain(){ intu=0; QueueQ; StackS; MazeM; M.InitM(); M.Initp0(); Pointa=M.p0; M.Initpn(); Append(Q,a); while(1) { if(u==1) break; M.l=Q.tail; while(Q.head<M.l) { Delete(Q,a); if(a.x==M.pn.x&&a.y==M.pn.y) { u=1; break; } else { M.kz(Q,a); M.m[a.x][a.y]=1; } } M.i++; } cout<<"最短路徑的長(zhǎng)度為:"<<M.i-1<<endl; cout<<"最短路徑為:"<<endl; while(a.pre>=0) { push(S,a); a=Q.p[a.pre]; } push(S,M.p0); while(S.head>0) { pop(S); }}voidMaze::Initp0(){ cout<<"請(qǐng)輸入起始點(diǎn)(0~9):"<<endl; cin>>p0.x>>p0.y;}voidMaze::Initpn(){ cout<<"請(qǐng)輸入結(jié)束點(diǎn)(0~9):"<<endl; cin>>pn.x>>pn.y;}voidMaze::InitM(){ cout<<"請(qǐng)輸入迷宮矩陣(10*10):"<<endl; for(inti=0;i<10;i++) { for(intj=0;j<10;j++) cin>>m[i][j]; }}voidMaze::pdp0pn(){ if(m[p0.x][p0.y]==1||m[pn.x][pn.y]==1) cout<<"輸入的點(diǎn)不符合條件。"<<endl;}voidMaze::kz(Queue&Q,Pointa){ Pointb; b.pre=Q.head-1; if(m[a.x-1][a.y]!=1&&a.x-1>=0) { b.x=a.x-1; b.y=a.y; Append(Q,b); } if(m[a.x+1][a.y]!=1&&a.x+1<=9) { b.x=a.x+1; b.y=a.y; Append(Q,b); } if(m[a.x][a.y-1]!=1&&a.y-1>=0) { b.x=a.x; b.y=a.y-1; Append(Q,b); }if(m[a.x][a.y+1]!=1&&a.y+1<=9) { b.x=a.x; b.y=a.y+1; Append(Q,b); }}/*11111111111000110011101001100
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高一學(xué)生學(xué)習(xí)計(jì)劃
- 好玩的游戲幼兒園戶(hù)外小班教案
- 公司季度工作計(jì)劃合集7篇
- 500ta多晶硅、16kta三氯氫硅新建可行性研究報(bào)告-圖文
- 競(jìng)聘衛(wèi)生演講稿范文合集7篇
- 國(guó)慶閱兵觀后感
- 小學(xué)五年級(jí)教學(xué)工作計(jì)劃大全
- 學(xué)生年度學(xué)習(xí)計(jì)劃
- 小松機(jī)械制造(山東)有限公司HD系列重卡生產(chǎn)項(xiàng)目環(huán)評(píng)報(bào)告表
- 交通安全保證書(shū)模板集錦10篇
- 義務(wù)教育信息科技課程標(biāo)準(zhǔn)(2024年版)
- 《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)》初中內(nèi)容解讀
- 產(chǎn)品質(zhì)量檢測(cè)服務(wù)行業(yè)營(yíng)銷(xiāo)策略方案
- 佛吉亞卓越體系知識(shí)手冊(cè)
- 第五單元作文 記述與動(dòng)物的相處 課件七年級(jí)語(yǔ)文上冊(cè)人教版2024
- DB11T 214-2016 居住區(qū)綠地設(shè)計(jì)規(guī)范
- 互聯(lián)網(wǎng)新聞信息服務(wù)管理規(guī)定試題
- GB/T 3487-2024乘用車(chē)輪輞規(guī)格系列
- 2024秋期國(guó)家開(kāi)放大學(xué)專(zhuān)科《社會(huì)調(diào)查研究與方法》一平臺(tái)在線形考(形成性考核一至四)試題及答案
- GB/T 22517.2-2024體育場(chǎng)地使用要求及檢驗(yàn)方法第2部分:游泳場(chǎng)地
- 10以?xún)?nèi)連加減口算練習(xí)題完整版89
評(píng)論
0/150
提交評(píng)論