利用棧求解迷宮問題

2021-06-25 14:23:11 字數 762 閱讀 8132

利用棧求解迷宮問題

源**:

#include

#include

#define m 8

#define n 8

#define maxsize m*n

typedef struct

box;

typedef struct

sttype;

int mg[m+2][n+2]=, ,

,, ,

,, ,

,}; 

bool mgpath(int xi,int yi,int xe,int ye)//求解路徑為:(xi,yi)->(xe,ye) 

printf("\n");

return true;//找到一條路徑後返回true  }

find=0;

while(di<4 && find==0)//否則,找下乙個可走相鄰的方塊 

if(mg[i][j]==0)//找到下乙個可走相鄰方塊 

find=1; }

if(find==1)//找到了下乙個可走方塊 

else//沒有路徑可走,則退棧 

}return false;//表示沒有可走路徑,返回false  }

int main()

利用棧實現迷宮求解

如下是每個節點的資料結構 1 typedef struct direction 方向 78 typedef struct point 位置 1213 14 typedef struct stacknode linkstackptr 節點資料結構 鏈棧及基本操作實現 1 typedef struct ...

棧求解迷宮問題

問題 假設下圖1是某迷宮的地圖 0代表路徑,1代表牆壁 問此迷宮是否有條通路?求解思想 用棧來實現解決問題,主要步驟是 1 將迷宮的入口座標設為當前座標 2 將當前座標壓棧,將當前座標上的值設為2 0變為2 代表已走過的路 3 判斷當前座標的四周 上下左右 是否是可以通 為0則通 的,如果是通的,那...

棧 求解迷宮問題

問題 在迷宮中尋找一條路徑 演算法分析 將迷宮數值化,使用二維陣列來表示迷宮,牆單元用0,通道單元用1 如果能夠通過繼續前進,如果不能通過則退回到上乙個單元,因此用棧來儲存通過的路徑 用0,1,2,3來分別表示4個方向 include pch.h include include include in...