資料結構迷宮公升級版本

2021-09-12 13:44:56 字數 1302 閱讀 3097

#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 問題分析及演...