




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、空間數(shù)據結構作業(yè)報告學號:20133285姓名:張弛班級:測繪一班學院:地球科學與環(huán)境工程學院教師:胡亞 2015年11月3日目錄實驗題3.53任務要求 3源程序3運行結果6心得體會6實驗題3.5任務要求 編寫一個求解迷宮問題的程序exp-5.cpp,要求輸出圖3.23所示的迷宮的所有路徑,并求最短路徑長度及最短路徑。源程序#include #define M 4/行數(shù)#define N 4/列數(shù)#define MaxSize 100/棧最多元素個數(shù)int mgM+2N+2=/一個迷宮,其四周要加上均為1的外框1,1,1,1,1,1,1,0,0,0,1,1,1,0,1,0,0,1,1,0,0,
2、0,1,1,1,1,0,0,0,1,1,1,1,1,1,1;struct int i,j;int di; StackMaxSize,PathMaxSize;/定義棧和存放最短路徑的數(shù)組int top=-1;/棧頂指針int count=1;/路徑數(shù)計數(shù)int minlen=MaxSize;/最短路徑長度void mgpath(int xi,int yi,int xe,int ye)/求迷宮路徑int i,j,di,find,k;top+;/進棧Stacktop.i=xi;Stacktop.j=yi;Stacktop.di=-1;mgxiyi=-1;/初始方塊進棧while (top-1)/棧不
3、空時循環(huán)i=Stacktop.i;j=Stacktop.j;di=Stacktop.di;if (i=xe & j=ye)/找到了出口,輸出路徑 printf(%4d: ,count+);for (k=0;k=top;k+)printf(%d,%d) ,Stackk.i,Stackk.j);if (k+1)%5=0) printf(nt);/輸出時每5個方塊換一行printf(n);if (top+1minlen)/比較找最短路徑for (k=0;k=top;k+)Pathk=Stackk;minlen=top+1;mgStacktop.iStacktop.j=0;/讓該位置變?yōu)槠渌窂娇勺叻?/p>
4、塊top-; i=Stacktop.i;j=Stacktop.j;di=Stacktop.di;find=0;while (di4 & find=0)/找下一個可走方塊di+;switch(di)case 0:i=Stacktop.i-1;j=Stacktop.j;break;case 1:i=Stacktop.i;j=Stacktop.j+1;break;case 2:i=Stacktop.i+1;j=Stacktop.j;break;case 3:i=Stacktop.i,j=Stacktop.j-1;break;if (mgij=0) find=1;if (find=1)/找到了下一個可
5、走方塊Stacktop.di=di;/修改原棧頂元素的di值top+;Stacktop.i=i;Stacktop.j=j;Stacktop.di=-1;/下一個可走方塊進棧mgij=-1;/避免重復走到該方塊else/沒有路徑可走,則退棧mgStacktop.iStacktop.j=0; /讓該位置變?yōu)槠渌窂娇勺叻綁Ktop-;printf(最短路徑如下:n);printf(長度: %dn,minlen);printf(路徑: );for (k=0;kminlen;k+)printf(%d,%d) ,Pathk.i,Pathk.j);if (k+1)%5=0) printf(nt); /輸出時
6、每5個方塊換一行printf(n);void main()printf(迷宮所有路徑如下:n);mgpath(1,1,M,N);int i;scanf(%d,&i);運行結果心得體會通過完成這次編程練習,我覺得自己有很大的收獲。首先,在編程之前,我一遍又一遍地翻看了教材以及老師上課講的課件,了解了迷宮問題的一些實質內容,以及棧和隊列的本質及應用。但是在某些地方還是有些不懂,于是請教一些同學,解決了一些問題,剩下的問題,在今天的課堂上請教老師,在老師的幫助下,我將課件上運用棧來解迷宮問題的程序與老師上傳的課后習題的程序對比,發(fā)現(xiàn)兩者的不同,這是由解決問題的目的所決定的。前者注重走出迷宮,最后得到的是一條路徑,后者注重窮舉所有能走出的路徑并比較出最短路徑。這些區(qū)別決定了編寫程序語言的不同。另外可以運用隊列直接求出迷宮最短路徑,我感覺棧和隊列各有千秋,棧比較全面,但可能繁瑣;隊列注重效率,可以求出最短路徑,簡單,但內容有局限,不如棧更全面。但是我們可以根據實際要求,合理選擇他們,加以運用。這次練習讓我初步體會到棧和隊列的應用,他們在解決實際生活問題中起到巨大
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺析新課標下高中化學探究性教學新思路
- 中西醫(yī)結合腫瘤病學知到課后答案智慧樹章節(jié)測試答案2025年春湖南中醫(yī)藥大學
- 注漿小導管施工方案
- 站臺門設備故障現(xiàn)場處置方案演練腳本
- 財務會計:財務會計的基本理論-習題與答案
- 財務比率分析習題與答案
- 物理(湖北卷)(參考答案)
- 河北省唐山市豐南區(qū)2024-2025學年八年級上學期期末考試物理試題(原卷版+解析版)
- 稅收籌劃在科技型上市母子公司間的應用及風險探究
- 廈門水務集團自來水收費系統(tǒng)的設計與實現(xiàn)
- 甘肅四年級信息技術下冊教學設計(簡版)(含核心素養(yǎng))
- 作文復習:破繭成蝶逆天改命-《哪吒2》現(xiàn)象級成功的高考寫作啟示 課件
- 2025年湖南機電職業(yè)技術學院單招職業(yè)傾向性測試題庫1套
- 2025中建三局(中原)社會招聘高頻重點模擬試卷提升(共500題附帶答案詳解)
- 【生 物】光合作用課件-2024-2025學年人教版生物七年級下冊
- 人教版 七年級英語下冊 UNIT 2 單元綜合測試卷(2025年春)
- 2024年“新能源汽車裝調工”技能及理論知識考試題與答案
- 【地理】非洲-位置與范圍 高原為主的地形課件-2024-2025學年湘教版(2024)七下
- 搶救車的管理
- GB/T 17350-2024專用汽車和專用掛車分類、名稱及型號編制方法
- 2025年農業(yè)發(fā)展集團有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論