

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程設(shè)計(jì)名稱:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)</p><p> 課程設(shè)計(jì)題目:迷宮算法 </p><p> 院(系):計(jì)算機(jī)學(xué)院</p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p><b> 班 級: </b><
2、/p><p><b> 學(xué) 號: </b></p><p><b> 目 錄</b></p><p> 1 課程設(shè)計(jì)介紹1</p><p> 1.1 課程設(shè)計(jì)內(nèi)容1</p><p> 1.2 課程設(shè)計(jì)要求1</p><p>
3、 2 課程設(shè)計(jì)原理2</p><p> 2.1 課設(shè)題目粗略分析2</p><p> 2.2 原理圖介紹3</p><p> 2.2.1 功能模塊圖3</p><p> 2.2.2 流程圖分析3</p><p> 3 數(shù)據(jù)結(jié)構(gòu)分析9</p><p> 3.1 存儲結(jié)構(gòu)
4、9</p><p> 3.2 算法描述9</p><p> 4 調(diào)試與分析11</p><p> 4.1 調(diào)試過程11</p><p> 4.2程序執(zhí)行過程11</p><p><b> 參考文獻(xiàn)13</b></p><p> 附 錄(關(guān)鍵部
5、分程序清單)14</p><p><b> 1 課程設(shè)計(jì)介紹</b></p><p> 1.1 課程設(shè)計(jì)內(nèi)容</p><p> 編寫算法能夠生成迷宮,并且求解迷宮路徑(求解出任意一條到出口的路徑即可):</p><p> 迷宮用上下左右四種走法;</p><p> 迷宮的大小和復(fù)雜程
6、度可以由用戶定義;</p><p> 入口出口也由用戶自己選擇。</p><p> 1.2 課程設(shè)計(jì)要求</p><p> 不必演示求解過程,只需要輸出迷宮求解的路徑;</p><p> 參考相應(yīng)資料完成課設(shè)。</p><p><b> 2 課程設(shè)計(jì)原理</b></p>
7、<p> 2.1 課設(shè)題目粗略分析</p><p> 根據(jù)課設(shè)題目要求,擬將整體程序分為四大模塊。以下是四個(gè)模塊的大體分析:</p><p> 1 建立迷宮:要建立迷宮首先就要建立存儲結(jié)構(gòu),這里我用棧的方式建立的。根據(jù)用戶輸入的迷宮的大?。ㄎ以O(shè)置的最大值為25可以根據(jù)要求調(diào)解);</p><p> 2 設(shè)置迷宮:這里將0設(shè)置圍墻,1是可以通過的路徑
8、,-1是不可以通過路徑,外墻是以設(shè)計(jì)好的,內(nèi)墻需要用戶來設(shè)置,障礙的難度可由用戶自行定義;</p><p> 3 尋找路徑:尋找路徑我設(shè)置了四個(gè)方向{0,1},{1,0},{0,-1},{-1,0}移動(dòng)方向,依次為東南西北,首先向東走,若不成功則轉(zhuǎn)換方向,成功則繼續(xù)前進(jìn),將走過的路徑進(jìn)行標(biāo)記,然后存入棧中;</p><p> 4 輸出結(jié)果:輸出的結(jié)果分為兩種,一種是用戶建立的迷宮主要是
9、讓用戶檢查是否符合要求,第二種輸出的是尋找完后的路徑,路徑用1 2 3 4···來表示。</p><p><b> 2.2 原理圖介紹</b></p><p> 2.2.1 功能模塊圖</p><p> 圖2.1 功能模塊圖</p><p><b> 如圖2.1所示 <
10、;/b></p><p> 2.2.2 流程圖分析</p><p><b> 建立迷宮</b></p><p> 圖2.2建立迷宮函數(shù)流程圖</p><p><b> 2. 設(shè)置迷宮</b></p><p> 圖2.3 設(shè)置迷宮函數(shù)流程圖</p>
11、<p><b> 3. 尋找路徑</b></p><p> 圖2.4 尋找路徑函數(shù)流程圖</p><p><b> 4.輸出結(jié)果</b></p><p> 圖2.5 輸出結(jié)果函數(shù)流程圖</p><p><b> 3 數(shù)據(jù)結(jié)構(gòu)分析</b></p>
12、;<p><b> 3.1 存儲結(jié)構(gòu)</b></p><p> 定義一個(gè)整型數(shù)組PosType用來存儲行列的值。</p><p> typedef struct // 棧的元素類型 </p><p><b> {</b></p><p> int ord; // 通道塊在路徑
13、上的"序號" </p><p> PosType seat; // 通道塊在迷宮中的"坐標(biāo)位置" </p><p> int di; // 從此通道塊走向下一通道塊的"方向"(0~3表示東~北) </p><p> }SElemType; </p><p><b> 棧的存儲結(jié)構(gòu):</b></p>
14、<p> #define STACK_INIT_SIZE 10// 存儲空間初始分配量 </p><p> #define STACKINCREMENT 2// 存儲空間分配增量 </p><p> // 棧的順序存儲表示 </p><p> typedef struct SqStack</p><p><b>
15、; {</b></p><p> SElemType *base;// 在棧構(gòu)造之前和銷毀之后,base的值為NULL </p><p> SElemType *top;// 棧頂指針 </p><p> int stacksize;// 當(dāng)前已分配的存儲空間,以元素為單位 </p><p> }SqStack
16、;// 順序棧</p><p><b> 3.2 算法描述</b></p><p> 1.棧的基本操作的算法,簡單算法說明如下:</p><p> Status InitStack(SqStack *S)</p><p> {//構(gòu)造一個(gè)空棧S,為棧底分配一個(gè)指定大小的存儲空間</p><
17、;p> (*S).base = (SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));</p><p> if( !(*S).base ) exit(0);</p><p> (*S).top = (*S).base;// 棧底與棧頂相同表示一個(gè)空棧</p><p> (*S).sta
18、cksize = STACK_INIT_SIZE;</p><p><b> return 1;</b></p><p><b> }</b></p><p> Status StackEmpty(SqStack S)</p><p> { // 若棧S為空棧(棧頂與棧底
19、相同的),則返回1,否則返回0。</p><p> if(S.top == S.base) return 1;</p><p> else return 0;</p><p> }Status Push(SqStack *S, SElemType e)</p><p> {//插入元素e為新的棧頂元素。</
20、p><p> if((*S).top - (*S).base >= (*S).stacksize) {// 棧滿,追加存儲空間</p><p> (*S).base = (SElemType *)realloc((*S).base , ((*S).stacksize + STACKINCREMENT) * sizeof(SElemType));</p><p&g
21、t; if( !(*S).base ) exit(0);</p><p> (*S).top = (*S).base+(*S).stacksize;</p><p> (*S).stacksize += STACKINCREMENT;</p><p><b> }</b></p><p> *((*S).
22、top)++=e;</p><p><b> return 1;</b></p><p><b> }</b></p><p> Status Pop(SqStack *S,SElemType *e)</p><p> {//若棧不空,則刪除S的棧頂元素,用e返回其值,并返回1;否則返回
23、0。</p><p> if((*S).top == (*S).base) return 0;</p><p> *e = *--(*S).top;</p><p><b> return 1;</b></p><p><b> }</b></p><p>
24、 查找路徑的算法,簡單算法說明如下:</p><p> Status MazePath(PosType start,PosType end) </p><p> { // 若迷宮maze中存在從入口start到出口end的通道,則求得一條 </p><p> // 存放在棧中(從棧底到棧頂),并返回1;否則返回0 </p><p>
25、 InitStack(&S); curpos=start; curstep=1;</p><p><b> do</b></p><p><b> {</b></p><p> if(Pass(curpos)){// 當(dāng)前位置可以通過,即是未曾走到過的通道塊 </p><p>
26、 FootPrint(curpos); // 留下足跡 </p><p> e =( curstep, curpos,1);</p><p> Push(&S,e); // 入棧當(dāng)前位置及狀態(tài) </p><p> if(curpos.x==end.x&&curpos.y==end.y) // 到達(dá)終點(diǎn)(出口) </p>
27、<p><b> return 1;</b></p><p> curpos=NextPos(curpos,e.di);</p><p><b> }</b></p><p> else{// 當(dāng)前位置不能通過 </p><p> if(!StackEmpty(S)){</
28、p><p> Pop(&S,&e); // 退棧到前一位置 </p><p> curstep--; // 前一位置處于最后一個(gè)方向(北) </p><p> while(e.di==3&&!StackEmpty(S))</p><p><b> {</b></p>&
29、lt;p> MarkPrint(e.seat); Pop(&S,&e); //留下不能通過的標(biāo)記(-1) , 退回一步</p><p><b> }</b></p><p> if(e.di<3) { // 沒到最后一個(gè)方向(北) </p><p> e.di++; Push(&S,e);// 換下一
30、個(gè)方向探索</p><p> curpos=NextPos(e.seat,e.di); // 設(shè)定當(dāng)前位置是該新方向上的相鄰塊</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><
31、;p> }while(!StackEmpty(S));</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 4 調(diào)試與分析</b></p><p><b> 4.1 調(diào)試過程</
32、b></p><p> 在調(diào)試程序是主要遇到一下幾類問題:</p><p> 選擇存儲結(jié)構(gòu)的問題:剛接到課設(shè)題目的時(shí)候,我就在想用什么來實(shí)現(xiàn)迷宮的存儲。用線性表還是數(shù)組,最后綜合考慮決定用棧和數(shù)組結(jié)合的方式來實(shí)現(xiàn),用數(shù)組來建立迷宮和輸出迷宮,用棧來查找路徑并將生成的路徑壓入到棧中,因?yàn)闂S邢热牒蟪龅膬?yōu)點(diǎn),所以比較容易實(shí)現(xiàn)。</p><p> 如何建立迷宮
33、和怎么設(shè)置迷宮的問題:首先迷宮要有一定的范圍怎么才能讓迷宮有序的進(jìn)行,于是我將迷宮的外圍和障礙設(shè)置為0,所有的可走路徑設(shè)置為1,這樣迷宮就清晰可見。</p><p> 如何去尋找路徑問題 :這是整個(gè)程序的核心。通過查找書籍得到了一個(gè)算法:若當(dāng)前位置“可通”,則納入當(dāng)前路徑,并繼續(xù)朝下一位置搜索,即切換下一位置為當(dāng)前位置,如此重復(fù)到達(dá)出口;若不可通,就退回到前一通道,然后繼續(xù)尋找其他方向;若均不可通,則刪除此路徑
34、。</p><p> 界面問題:這里就是運(yùn)用了switch(n)語句來實(shí)現(xiàn)的,這樣增加了程序的實(shí)用性。</p><p><b> 4.2程序執(zhí)行過程</b></p><p><b> 系統(tǒng)使用說明:</b></p><p> 1.出現(xiàn)界面后選擇1,進(jìn)行迷宮大小的設(shè)計(jì)(這里設(shè)計(jì)3*3大小的):
35、如圖4.1所示</p><p><b> 圖4.1 </b></p><p> 2. 然后選擇2,開始設(shè)計(jì)迷宮的內(nèi)部:如圖4.2所示</p><p><b> 圖4.2</b></p><p> 選擇3,觀察設(shè)計(jì)的是否滿足你的要求:如圖4.3所示</p><p>&l
36、t;b> 圖4.3</b></p><p> 選擇4,輸入迷宮的起點(diǎn)和終點(diǎn):如圖4.4所示</p><p><b> 圖4.4</b></p><p> 選擇5,查看結(jié)果(路徑由1.2.3.4.5表示出來):如圖4.5所示</p><p><b> 圖4.5</b><
37、;/p><p> 6.選擇0,退出程序。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2007. </p><p> [2] 胡圣榮, 周靄如, 羅穗萍.數(shù)據(jù)結(jié)構(gòu)教程與題解[M].北京:清華大學(xué)出版社,2011.</p>&
38、lt;p> [3] 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.</p><p> [4] 袁平波.數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)指導(dǎo)[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社.2010. </p><p> [5] 殷人昆.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學(xué)出版社.2011.</p><p> [6] 寧正元.算法與數(shù)據(jù)結(jié)構(gòu)習(xí)題精解和實(shí)驗(yàn)指導(dǎo)[M].北京. 清華大
39、學(xué)出版社.2007.</p><p> [7] 陳媛.算法與數(shù)據(jù)結(jié)構(gòu).第2版[M].北京. 清華大學(xué)出版社.2011.</p><p> 附 錄(關(guān)鍵部分程序清單)</p><p><b> 程序代碼</b></p><p> #include<stdio.h></p><p&
40、gt; #include<stdlib.h></p><p> #include<string.h></p><p> #include<malloc.h></p><p> // 迷宮坐標(biāo)位置類型</p><p> typedef struct </p><p><
41、;b> {</b></p><p> int x;// 行值 </p><p> int y;// 列值 </p><p><b> }PosType;</b></p><p> #define MAXLENGTH 25 // 設(shè)迷宮的最大行列為25 </p><p
42、> typedef int MazeType[MAXLENGTH][MAXLENGTH]; // 迷宮數(shù)組[行][列] </p><p> typedef struct // 棧的元素類型 </p><p><b> {</b></p><p> int ord; // 通道塊在路徑上的"序號" </p><p
43、> PosType seat; // 通道塊在迷宮中的"坐標(biāo)位置" </p><p> int di; // 從此通道塊走向下一通道塊的"方向"(0~3表示東~北) </p><p> }SElemType;</p><p><b> // 全局變量 </b></p><p> MazeType m; /
44、/ 迷宮數(shù)組</p><p> int curstep=1; // 當(dāng)前足跡,初值為1 </p><p> #define STACK_INIT_SIZE 10// 存儲空間初始分配量 </p><p> #define STACKINCREMENT 2// 存儲空間分配增量 </p><p> // 棧的順序存儲表示 </
45、p><p> typedef struct SqStack</p><p><b> {</b></p><p> SElemType *base;// 在棧構(gòu)造之前和銷毀之后,base的值為NULL </p><p> SElemType *top;// 棧頂指針 </p><p>
46、 int stacksize;// 當(dāng)前已分配的存儲空間,以元素為單位 </p><p> }SqStack;// 順序棧</p><p> //構(gòu)造一個(gè)空棧S</p><p> int InitStack(SqStack *S)</p><p><b> {</b></p><p&g
47、t; // 為棧底分配一個(gè)指定大小的存儲空間</p><p> (*S).base = (SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));</p><p> if( !(*S).base )</p><p><b> exit(0);</b></p><p&
48、gt; (*S).top = (*S).base;// 棧底與棧頂相同表示一個(gè)空棧</p><p> (*S).stacksize = STACK_INIT_SIZE;</p><p><b> return 1;</b></p><p><b> }</b></p><p> // 若
49、棧S為空棧(棧頂與棧底相同的),則返回1,否則返回0。</p><p> int StackEmpty(SqStack S)</p><p><b> {</b></p><p> if(S.top == S.base)</p><p><b> return 1;</b></p>
50、;<p><b> else</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> //插入元素e為新的棧頂元素。</p><p> int Push(SqStack *S, SElemT
51、ype e)</p><p><b> {</b></p><p> if((*S).top - (*S).base >= (*S).stacksize)// 棧滿,追加存儲空間</p><p><b> {</b></p><p> (*S).base = (SElemType *
52、)realloc((*S).base , </p><p> ((*S).stacksize + STACKINCREMENT) * sizeof(SElemType));</p><p> if( !(*S).base )</p><p><b> exit(0);</b></p><p> (*S).top
53、= (*S).base+(*S).stacksize;</p><p> (*S).stacksize += STACKINCREMENT;</p><p><b> }</b></p><p> *((*S).top)++=e;</p><p><b> return 1;</b><
54、;/p><p><b> }</b></p><p> //若棧不空,則刪除S的棧頂元素,用e返回其值,并返回1;否則返回0。</p><p> int Pop(SqStack *S,SElemType *e)</p><p><b> {</b></p><p>
55、if((*S).top == (*S).base)</p><p><b> return 0;</b></p><p> *e = *--(*S).top; // 這個(gè)等式的++ * 優(yōu)先級相同,但是它們的運(yùn)算方式,是自右向左</p><p><b> return 1;</b></p><
56、p><b> }</b></p><p> // 定義墻元素值為0,可通過路徑為1,不能通過路徑為-1,通過路徑為足跡</p><p> // 當(dāng)迷宮m的b點(diǎn)的序號為1(可通過路徑),return 1; 否則,return 0。</p><p> int Pass(PosType b)</p><p>&l
57、t;b> { </b></p><p> if(m[b.x][b.y]==1)</p><p><b> return 1;</b></p><p><b> else</b></p><p><b> return 0;</b></p>
58、<p><b> }</b></p><p> void FootPrint(PosType a) // 使迷宮m的a點(diǎn)的序號變?yōu)樽阚E(curstep),表示經(jīng)過</p><p><b> {</b></p><p> m[a.x][a.y]=curstep;</p><p
59、><b> }</b></p><p> // 根據(jù)當(dāng)前位置及移動(dòng)方向,返回下一位置 </p><p> PosType NextPos(PosType c,int di)</p><p><b> {</b></p><p> PosType direc[4]={{0,1},{1,
60、0},{0,-1},{-1,0}}; // {行增量,列增量} </p><p> // 移動(dòng)方向,依次為東南西北 </p><p> c.x+=direc[di].x;</p><p> c.y+=direc[di].y;</p><p><b> return c;</b></p><p&
61、gt;<b> }</b></p><p> // 使迷宮m的b點(diǎn)的序號變?yōu)?1(不能通過的路徑)</p><p> void MarkPrint(PosType b)</p><p><b> { </b></p><p> m[b.x][b.y]=-1;</p><
62、p><b> }</b></p><p> // 若迷宮maze中存在從入口start到出口end的通道,則求得一條 </p><p> // 存放在棧中(從棧底到棧頂),并返回1;否則返回0 </p><p> int MazePath(PosType start,PosType end) </p><p&g
63、t;<b> { </b></p><p> SqStack S;</p><p> PosType curpos;</p><p> SElemType e;</p><p> InitStack(&S);</p><p> curpos=start;</p>
64、<p><b> do</b></p><p><b> {</b></p><p> if(Pass(curpos))</p><p> {// 當(dāng)前位置可以通過,即是未曾走到過的通道塊 </p><p> FootPrint(curpos); // 留下足跡 </p&
65、gt;<p> e.ord=curstep;</p><p> e.seat.x=curpos.x;</p><p> e.seat.y=curpos.y;</p><p><b> e.di=0;</b></p><p> Push(&S,e); // 入棧當(dāng)前位置及狀態(tài) </p&
66、gt;<p> curstep++; // 足跡加1 </p><p> if(curpos.x==end.x&&curpos.y==end.y) // 到達(dá)終點(diǎn)(出口) </p><p><b> return 1;</b></p><p> curpos=NextPos(curpos,e.di);<
67、;/p><p><b> }</b></p><p><b> else</b></p><p> {// 當(dāng)前位置不能通過 </p><p> if(!StackEmpty(S))</p><p><b> {</b></p>&l
68、t;p> Pop(&S,&e); // 退棧到前一位置 </p><p> curstep--;</p><p> while(e.di==3&&!StackEmpty(S)) // 前一位置處于最后一個(gè)方向(北)</p><p><b> {</b></p><p> M
69、arkPrint(e.seat); // 留下不能通過的標(biāo)記(-1) </p><p> Pop(&S,&e); // 退回一步 </p><p> curstep--;</p><p><b> }</b></p><p> if(e.di<3) // 沒到最后一個(gè)方向(北) </p
70、><p><b> {</b></p><p> e.di++; // 換下一個(gè)方向探索</p><p> Push(&S,e); curstep++;// 設(shè)定當(dāng)前位置是該新方向上的相鄰塊</p><p> curpos=NextPos(e.seat,e.di);</p><p>&
71、lt;b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> }while(!StackEmpty(S));</p><p><b> return 0;</b></p><
72、p><b> }</b></p><p> // 輸出迷宮的結(jié)構(gòu) </p><p> void Print(int x,int y)</p><p><b> { </b></p><p><b> int i,j;</b></p><p&g
73、t; for(i=0;i<x;i++)</p><p><b> {</b></p><p> for(j=0;j<y;j++)</p><p> printf("%3d",m[i][j]);</p><p> printf("\n");</p>
74、<p><b> }</b></p><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p> PosType begin,end;</p><p> int
75、i,j,x,y,x1,y1,n,k;</p><p><b> do{</b></p><p> system("cls"); //清屏函數(shù)</p><p> printf("
76、 <<<<<<<<<<<<<<<<welcome>>>>>>>>>>>>>>>> \n\n\n");</p><p> printf("
77、 1請輸入迷宮的行數(shù),列數(shù)(包括外墻)\n");</p><p> printf(" 2請輸入迷宮內(nèi)墻單元數(shù)\n");</p><p> printf(" 3迷宮結(jié)構(gòu)如下\n");</p><p> pri
78、ntf(" 4輸入迷宮的起點(diǎn)和終點(diǎn)\n");</p><p> printf(" 5輸出結(jié)果\n");</p><p> printf(" 0退出\n");</p&g
79、t;<p> printf("\n\n請選擇 ");</p><p> scanf("%d",&n);</p><p><b> switch(n)</b></p><p><b> {</b></p><p><b>
80、; case 1:{</b></p><p> printf("請輸入迷宮的行數(shù),列數(shù)(包括外墻):(空格隔開)");</p><p> scanf("%d%d", &x, &y);</p><p> for(i=0;i<x;i++) // 定義周邊值為0(同墻) </p>
81、;<p><b> {</b></p><p> m[0][i]=0;// 迷宮上面行的周邊即上邊墻 </p><p> m[x-1][i]=0;// 迷宮下面行的周邊即下邊墻 </p><p><b> }</b></p><p> for(j=1;j<y-1;j+
82、+)</p><p><b> {</b></p><p> m[j][0]=0;// 迷宮左邊列的周邊即左邊墻 </p><p> m[j][y-1]=0;// 迷宮右邊列的周邊即右邊墻 </p><p><b> }</b></p><p> for(i=1;
83、i<x-1;i++)</p><p> for(j=1;j<y-1;j++)</p><p> m[i][j]=1; // 定義通道初值為1 </p><p><b> }break; </b></p><p><b> case 2:</b></p><p
84、> {printf("請輸入迷宮內(nèi)墻單元數(shù):");</p><p> scanf("%d",&j);</p><p> printf("請依次輸入迷宮內(nèi)墻每個(gè)單元的行數(shù),列數(shù):(空格隔開)\n");</p><p> for(i=1;i<=j;i++)</p>&l
85、t;p><b> {</b></p><p> scanf("%d%d",&x1,&y1);</p><p> m[x1][y1]=0; </p><p><b> }</b></p><p><b> }break;</b>
86、;</p><p> case 3:{Print(x,y);printf("輸入0退出");scanf("%d",&k);}break;</p><p> case 4:{ printf("請輸入起點(diǎn)的行數(shù),列數(shù):(空格隔開)");</p><p> scanf("%d%d&quo
87、t;,&begin.x,&begin.y);</p><p> printf("請輸入終點(diǎn)的行數(shù),列數(shù):(空格隔開)");</p><p> scanf("%d%d",&end.x,&end.y);}break;</p><p><b> case 5:{</b>&
88、lt;/p><p> if(MazePath(begin,end)) // 求得一條通路 </p><p><b> {</b></p><p> printf("此迷宮從入口到出口的一條路徑如下:\n");</p><p> Print(x,y); // 輸出此通路 </p>&l
89、t;p><b> }</b></p><p><b> else</b></p><p> printf("此迷宮沒有從入口到出口的路徑\n");</p><p> printf("輸入0退出");scanf("%d",&k);</p&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--迷宮
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---迷宮求解
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告迷宮求解
- 數(shù)據(jù)結(jié)構(gòu)迷宮求解課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)迷宮課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)迷宮課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---迷宮
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告----迷宮問題
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告-迷宮求解
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)迷宮問題課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---迷宮問題
- 數(shù)據(jù)結(jié)構(gòu)與算法----迷宮求解課程設(shè)計(jì)
- 迷宮問題——數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)迷宮問題
- 迷宮求解數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 迷宮求解數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(迷宮問題)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----迷宮求解
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-迷宮求解
- 迷宮游戲數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)迷宮問題
評論
0/150
提交評論