




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——迷宮試驗(yàn)報(bào)告一、試驗(yàn)內(nèi)容
3、迷宮問題。假設(shè)迷宮由m行n列構(gòu)成,有一個(gè)出口和一個(gè)入口,入口坐標(biāo)為(1,1),出口坐標(biāo)為(m,n),試設(shè)計(jì)并驗(yàn)證以下算法:找出一條從入口通往出口的路徑,或報(bào)告一個(gè)“無法通過〞的信息。
(1)用C語言實(shí)現(xiàn)順序存儲(chǔ)隊(duì)列上的基本操作,然后利用該隊(duì)列的基本操作找出迷宮的一條最短路徑。
(2)設(shè)計(jì)一個(gè)二維數(shù)組MAZE[m+2][n+2]表示迷宮,數(shù)組元素為0表示該位置可以通過,數(shù)組元素為1表示該位置不可以通行。MAZE[1][1]、MAZE[m][n]分別為迷宮的入口和出口。
(3)輸入迷宮的大小m行和n列,動(dòng)態(tài)生成二維數(shù)組;由隨機(jī)數(shù)產(chǎn)生0或1,建立迷宮,注意m*n的迷宮需要進(jìn)行擴(kuò)展,擴(kuò)展部分的元素設(shè)置為1,相當(dāng)于在迷宮周邊布上一圈不準(zhǔn)通過的墻。
(4)要求輸出模擬迷宮的二維數(shù)組;若存在最短路徑,則有出口回溯到入口(出隊(duì)列并利用棧實(shí)現(xiàn)),再打印從入口到出口的這條路徑,例如(1,1),,(i,j),,(m,n);若沒有路徑,則打印“Nopath〞。
(5)迷宮的任一位置(i,j)上均有八個(gè)可移動(dòng)的方向,用二維數(shù)組Direction存放八個(gè)方向的位置偏移量。
Direction[8][2]={{0,1},{1,1},{0,-1},{-1,-1},{1,-1},{1,0},{-1,0},{-1,1}};(6)為避免出現(xiàn)原地踏步的狀況需要標(biāo)志已經(jīng)通過的位置,采用一個(gè)標(biāo)志數(shù)組MARK[m+2][n+2],初值均為0,在尋覓路徑的過程中,若通過了位置(i,j),則將MARK[i][j]置為1。
(7)為了記錄查找過程中到達(dá)位置(i,j)及首次到達(dá)(i,j)的前一位置(i_pre,j_pre),需要記住前一位置(i_pre,j_pre)在隊(duì)列中的序號(hào)pre,即隊(duì)列中數(shù)據(jù)元素應(yīng)當(dāng)是一個(gè)三元組(i,j,pre)。
(8)探尋過程簡(jiǎn)單下:將入口MAZE[1][1]作為第一個(gè)出發(fā)點(diǎn),依次在八個(gè)方向上探尋可通行的位置,將可通行位置(i,j,pre)入隊(duì),形成第一層新的出發(fā)點(diǎn),然后依次出隊(duì),即對(duì)第一層中各個(gè)位置分別探尋它所在八個(gè)方向上的可通行位置,形成其次層新的出發(fā)點(diǎn),...,如此進(jìn)行下去,直至達(dá)到出口MAZE[m][n]或者迷宮所有位置都探尋完畢為止。
二、試驗(yàn)過程及結(jié)果
一、需求分析
1、用棧的基本操作完成迷宮問題的求解,其中棧的基本操作作為一個(gè)獨(dú)立的模塊存在。2、以二維數(shù)組M[m+2][n+2]表示迷宮,M[i][j]表示迷宮中相應(yīng)(i,j)位置的通行狀態(tài)(0:表示可以通行,1:表示有墻,不可通行),完成迷宮的抽象數(shù)據(jù)類型,包括出口、入口位置等。
3、用戶從屏幕上輸入迷宮,從鍵盤輸入迷宮的大小,即迷宮的長(zhǎng)和寬(由于控制臺(tái)大小限制,輸入的長(zhǎng)寬需在50以下),完成對(duì)應(yīng)迷宮的初始化。根據(jù)鍵盤輸入的迷宮規(guī)格隨機(jī)生成大小一致的迷宮,產(chǎn)生方塊的地方為墻,無方塊的地方可通過,如下例所示:如下所示:
4、程序完成對(duì)迷宮路徑的探尋,為了更好地顯示出求解結(jié)果,假使存在路徑,則以長(zhǎng)方形形式將迷宮打印出來,而不是只按步輸出坐標(biāo),也便于檢查路徑的正確性,用特定符號(hào)標(biāo)出迷宮的物理狀態(tài),其中字符“#〞表示出口和入口,“
M->Maze[0][k]=1;for(j=0;jMaze[j][0]=1;for(j=0;jMaze[j][width+1]=1;for(k=0;kMaze[length+1][k]=1;//設(shè)置迷宮圍墻for(j=1;jMaze[j][k]=rand()%2;//隨機(jī)生成迷宮}
M->length=length;M->width=width;M->start.row=1;M->start.col=1;M->end.row=M->length;M->end.col=M->width;M->Maze[M->start.row][M->start.col]=M->Maze[M->end.row][M->end.col]=0;//入口和出口設(shè)置*/}
voidPrintMaze(MAZEM){//打印出迷宮,包括邊界
printf(\迷宮入口:[1,1]--用#表示\\n\printf(\迷宮出口:[%d,%d]--用#表示\\n\for(row=0;rowbase)exit(OVERFLOW);S->top=S->base;//空棧的棧頂和棧底位置一致S->stacksize=STACK_INIT_SIZE;returnOK;
}
StatusStackEmpty(SqStack*S){if(S->top==S->base)returnTRUE;elsereturnFALSE;}
StatusPush(SqStack*S,SElemType*e)//在棧頂插入新的元素,入棧{if(S->top-S->base>=S->stacksize){S->base=(SElemType
*)realloc(S->base,(S->stacksize+STACKINCRENT)*sizeof(SElemType));//重新分派空間if(!S->base)exit(OVERFLOW);S->top=S->base+S->stacksize;S->stacksize+=STACKINCRENT;}*S->top++=*e;returnOK;}
StatusGetTop(SqStack*S,SElemType*e)//從棧中取元素{if(S->top==S->base)returnERROR;*e=*(S->top-1);re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 促進(jìn)社區(qū)居民參與社團(tuán)活動(dòng)的個(gè)人工作計(jì)劃
- 寧夏慶華煤化集團(tuán)有限公司鹽池縣曹家灣煤礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案評(píng)審表
- 人教版七年級(jí)歷史與社會(huì)下冊(cè)7.1-規(guī)則的演變教學(xué)設(shè)計(jì)001
- 距骨骨折護(hù)理
- 全國(guó)青島版信息技術(shù)七年級(jí)上冊(cè)專題一第3課一、《網(wǎng)絡(luò)信息安全現(xiàn)狀》教學(xué)設(shè)計(jì)
- 2025年孝感貨運(yùn)上崗資格證模擬考試
- 保密法知識(shí)培訓(xùn)講座
- 2025年濟(jì)南貨運(yùn)從業(yè)資格證500道題目和答案
- 2025年青海道路客貨運(yùn)輸從業(yè)資格證模擬考試下載
- 2025年西藏c1貨運(yùn)從業(yè)資格證考試內(nèi)容
- 《草圖大師建模》授課計(jì)劃+教案
- 地震英文課件
- 靈山縣城鄉(xiāng)融合發(fā)展奶水牛標(biāo)準(zhǔn)化養(yǎng)殖小區(qū)項(xiàng)目環(huán)境影響報(bào)告書
- 《普通心理學(xué)》第七章-思維
- 配電線路及設(shè)備巡視
- 詩詞大會(huì)訓(xùn)練題庫-十二宮格
- 煤礦托管承包合同
- 專升本英語語法1
- 設(shè)備采購工程安裝進(jìn)度計(jì)劃?rùn)M道圖
- 2023年黑龍江三江美術(shù)職業(yè)學(xué)院?jiǎn)握忻嬖囶}庫及答案解析
- 110KV送出線路工程施工組織設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論