#include
#include
#define m 15//m和n的值可以改,定義乙個迷宮大小陣列最大空間,
#define n 15
棧函式typedef struct seat//定義迷宮內點的座標型別
;typedef struct element//鏈棧元素
;typedef struct lstack//建立鏈棧單元素
*plstack;
int initstack(plstack &s)//初始化空棧
int stackempty(plstack &s)//判斷棧是否為空
int pop(plstack &s,element &e)//壓入新資料元素
else
return false;
}int push(plstack &s,element e)//棧頂元素出棧
建立迷宮
int creatmaze(int maze[m][n])
for(j=0;j<=n+1;j++)
printf("你建立的迷宮如下:\n");//輸出迷宮
for(i=0;i<=m+1;i++)
return true;
}求迷宮路徑函式
int mazepath(seat start,seat end,int maze[m][n],int add[4][2])
; char **p;
element elem,e;
plstack s1,s2;
initstack(s1);
initstack(s2);
maze[start.x][start.y]=1;//入口點作上標記
elem.seat=start;
elem.d=-1;//開始為-1
push(s1,elem);
while(!stackempty(s1))//棧不為空有路徑可走
}printf("很遺憾:沒有找到通道!\n");
}void main()
,,,};//行增量和列增量方向依次為東西南北
int maze[m][n];
creatmaze(maze);
printf("請輸入迷宮入口座標(逗號隔開):");
scanf("%d,%d",&start.x,&start.y);
printf("請輸入迷宮出口座標(逗號隔開):");
scanf("%d,%d",&end.x,&end.y);
mazepath(start,end,maze,add);//找通道
中南民族大學電子資訊工程學院10級陳福林
迷宮資料結構
實驗報告 題目 設計乙個程式,對任意設定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。一 需求分析 1.以二維陣列maze n n 表示迷宮,陣列中以元素值0表示通路,1表示障礙,限定迷宮大小n 100。2.第一行的資料為迷宮的行數m和列數n 從第2行到第m 1為迷宮值,同一行兩個數字之...
資料結構迷宮問題
base.h 公用的常量和型別 include include include include 函式結果狀態 define true 1 define false 0 define ok 1 define error 0 define infeasible 1 define overflow 2 t...
資料結構上機報告 迷宮
迷宮求解 小組成員 1 問題提出 利用棧結構實現迷宮求解問題。迷宮求解問題如下 心理學家把乙隻老鼠從乙個無頂蓋的大盒子的入口趕進迷宮,迷宮中設定很多隔壁,對前進方向形成了多處障礙,心理學家在迷宮的唯一出口放置了一塊乳酪,吸引老鼠在迷宮中尋找通路以到達出口,測試演算法的迷宮如下圖所示 2 問題分析及演...