




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)上機(jī)報(bào)告(迷宮)迷宮求解小組成員問題提出:利用棧結(jié)構(gòu)實(shí)現(xiàn)迷宮求解問題。迷宮求解問題如下:
心理學(xué)家把一只老鼠從一個(gè)無頂蓋的大盒子的入口趕進(jìn)迷宮,迷宮中設(shè)置很多隔壁,對前進(jìn)方向形成了多處障礙,心理學(xué)家在迷宮的唯一出口放置了一塊奶酪,吸引老鼠在迷宮中尋找通路以到達(dá)出口,測試算法的迷宮如下圖所示:問題分析及算法設(shè)計(jì):1.迷宮中有障礙物的地方設(shè)置為1,沒有障礙物的地方設(shè)置為0;2.設(shè)起點(diǎn)下標(biāo)為(1,1),終點(diǎn)下標(biāo)為(10,8);3.從起點(diǎn)出發(fā)(起點(diǎn)入棧),棧中存放走過的路徑(坐標(biāo));4.每次取棧頂元素,在其上下左右中選一個(gè)能走通的且沒有走過的點(diǎn)入棧;5.若該點(diǎn)為終點(diǎn);則結(jié)束,輸出路徑;6.若上下左右都不通或已走過,則出棧,???則走不通。程序設(shè)計(jì):用戶手冊:運(yùn)行程序;根據(jù)提示,在“請輸入迷宮矩陣,<10*10>:”后輸入迷宮矩陣;按enter鍵,根據(jù)提示,在“請輸入起始點(diǎn)<0~9>:”后輸入起始點(diǎn);按enter鍵,根據(jù)提示,在“請輸入結(jié)束點(diǎn)<0~9>:”后輸入結(jié)束點(diǎn);按enter鍵,即可得出最短路徑的長度和最短路徑的坐標(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<<"最短路徑的長度為:"<<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<<"請輸入起始點(diǎn)(0~9):"<<endl; cin>>p0.x>>p0.y;}voidMaze::Initpn(){ cout<<"請輸入結(jié)束點(diǎn)(0~9):"<<endl; cin>>pn.x>>pn.y;}voidMaze::InitM(){ cout<<"請輸入迷宮矩陣(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國變電專用設(shè)備數(shù)據(jù)監(jiān)測研究報(bào)告
- 2025年雞翅木床項(xiàng)目可行性研究報(bào)告
- 2025年耐火線項(xiàng)目可行性研究報(bào)告
- 2025年捻股成繩機(jī)項(xiàng)目可行性研究報(bào)告
- 鄰氯甲苯行業(yè)深度研究報(bào)告
- 2025年黃銅單卡通活接閘閥項(xiàng)目投資可行性研究分析報(bào)告
- 2024-2025學(xué)年高中政治第四單元當(dāng)代國際社會(huì)第九課維護(hù)世界和平促進(jìn)共同發(fā)展課時(shí)三我國外交政策的基本目標(biāo)和宗旨課時(shí)精練含解析新人教版必修2
- 2025年脲醛膠行業(yè)深度研究分析報(bào)告
- 2025年核桃殼項(xiàng)目投資可行性研究分析報(bào)告
- 打井合同范本乙方出合同
- 新版統(tǒng)編版一年級道德與法治下冊全冊教案(完整版)教學(xué)設(shè)計(jì)含教學(xué)反思
- 2025年春季學(xué)期學(xué)校德育工作計(jì)劃安排表(完整版)
- 《幼兒教育政策與法規(guī)》教案-單元4 幼兒園的保育和教育
- 電氣化基本知識(shí)-崗培教材編寫86課件講解
- 2024年廣東省公務(wù)員錄用考試《行測》試題及答案解析
- 人工智能需求文檔6篇
- 了解現(xiàn)代漢字字義的特點(diǎn)根據(jù)形旁的表義ppt課件
- 人教版小學(xué)數(shù)學(xué)四年級下冊教材分析ppt課件
- 嵩晟富氫水銷售方案ppt課件
- 藥物療法和過敏試驗(yàn)法護(hù)理學(xué)基礎(chǔ)
- 物流運(yùn)籌學(xué)課程標(biāo)準(zhǔn)
評論
0/150
提交評論