學院計算機學院
課程名稱資料結構
專業班級: 2011級電腦科學與技術
學生姓名: 朱振飛學號: 13
學生姓名: 李勇髮學號: 53
指導教師白偉華
完成時間:2023年6月25日
目錄(4號黑體字,居中排版)
1 迷宮問題 1
1.1 概述 1
1.2 實驗內容 1
1.3 概要設計 1
1.4 除錯分析 4
1.5 源程式** 5
說明:目錄自動生成,各級標題為小4號宋體,行距1.5倍行距。
1 迷宮問題(4號黑體字)
1.1 概述(小4號黑體字,段前段後0.5行,以下相同)
本課程設計利用棧的先進後出,確立迷宮路徑以解決問題。(漢字正文小4號宋體,英文及數字小4號times new roman 字型,行距為固定值20磅,以下相同)
使用語言:c語言
編譯環境:vc++ 6.0
1.2 實驗內容(小4號黑體字,段前段後0.5行,以下相同)
1、問題描述
以乙個m*n的長方陣表示迷宮,0和1分別表示迷宮中的通路和障礙。設計乙個程式,對任意設定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。
基本要求:
(1)實現乙個以煉表作儲存結構的棧型別,然後編寫乙個求解迷宮的非遞迴程式。求得的通路以三元組(i,j,d)的形式輸出,其中:(i,j)指示迷宮中的乙個座標,d表示走到下一座標的方向。
(2)編寫遞迴形式的演算法,求得迷宮中所有可能的通路;
(3)以方陣形式輸出迷宮及其通路。
2、需求分析
(1)以非遞迴方法求出一條迷宮通路。
(2)以遞迴方法求出所有迷宮通路。
(3)以方陣輸出迷宮和通路。
1.3 概要設計
1、儲存結構
typedef struct //迷宮定義
sd;typedef struct point //結點結構定義
point;
2、函式
sd creat() //迷宮建立函式
int found(int x,int y,point * head) //結點判斷函式
point * secret(sd a) //迷宮函式
void disp(point *po) //輸出函式
void main() //主函式
3、流程圖
…………………
1.4 除錯分析
1、問題分析
(1)當輸入的迷宮有出路時,能夠成功輸出所有的移動位置,但當輸入的迷宮沒有出路時,程式會發生錯誤而自動關閉。原因不明
2、執行結果
(1)輸入迷宮
輸入:enter row and lie: 3 4
enter 1 row:0 0 1 0
enter 2 row:1 0 0 1
enter 3 row:1 1 0 0
輸出:<1,1,1><1,2,2><2,2,1><2,3,2><3,3,1><3,4,0>
1.5 源程式**
#include
#include
#define maxsize 100
#define null 0
typedef struct //迷宮定義
sd;typedef struct point //結點結構定義
point;
sd creat() //迷宮建立函式
return a;
}int found(int x,int y,point * head) //結點判斷函式
return 0; //否則返回0
}point * secret(sd a)
if(m!=0) //結點符合條件,則j賦值為1,退出while迴圈
j=1;
break;
else //若無,則j加1
j++;
}if(j>4) //若無路可走
}while(top->vex_x!=a.max_x||top->vex_y!=a.max_y);
//當當前結點不是出口時,就一直執行迴圈
return top;
}void disp(point *po) //輸出函式
{ int i=0,top=0;
point *stack[maxsize]; //用陣列存放迷宮出路
if(po==null)
printf("no load!\n");
else
{while(po!=null)
stack[top]=po;
top++;
po=po->next;
while(top>0)
top輸出stack中的結果
if(top==0)
stack[top]->direction=0;
printf("(%d,%d,%d)",stack[top]->vex_x,stack[top]->vex_y,stack[top]->direction);
i++;
if(i%8==0滿8個輸出結果進行換行
資料結構課程設計報告迷宮
題目 迷宮問題 姓名 學號 班級 指導教師 2012年6月6日 1.問題描述 輸入任意大小的迷宮資料,用遞迴和非遞迴方法求出一條走出迷宮的路徑,並將路徑輸出。2.設計思路 以 0和1分別表示迷宮中的通路和障礙,沒有通路則不顯示。未顯示為得出沒有通路的結論 走迷宮的方式是乙個乙個的線路去試如果是死路的...
資料結構課程設計報告 迷宮求解問題
課題設計1 迷宮求解 一.需求分析 本程式是利用非遞迴的方法求出一條走出迷宮的路徑,並將路徑輸出。首先由使用者輸入一組二維陣列來組成迷宮,確認後程式自動執行,當迷宮有完整路徑可以通過時,以0和1所組成的迷宮形式輸出,標記所走過的路徑結束程式 當迷宮無路徑時,提示輸入錯誤結束程式。二 概要設計 1.抽...
資料結構課程設計 迷宮 工作日誌
備註 必須與自己的專案緊密結合,按照工作階段和進度真實填寫。每人每週填寫1份,從第10周周一開始,共填寫個6周,每週五統一提交。備註 必須與自己的專案緊密結合,按照工作階段和進度真實填寫。每人每週填寫1份,從第10周周一開始,共填寫個6周,每週五統一提交。備註 必須與自己的專案緊密結合,按照工作階段...