✅更多源码 | 课设
✅ 🚀快速解决各种课设毕设,窗体、网站、管理系统,范围 (Java、C#、C/C++、数据库、Vue、小程序)
✅ 🚀 文末联系 可定做🚀
题目介绍
用二维数组表示迷宫,1表示通顺路口,2表示搜索过的,0表示障碍路口,采用递归、堆栈的方式求迷宫出路的解并输出。
第一部分使用递归求解
为了数据的简单化,不对路口进行数据结构化,将用一个简单的int类型数组来表示迷宫
因为每一个路口的四个方向相对于当前路口的位移都是一样的,这样可以用一个int类型
二位数据表示四个方向的相对于当前位置的位移,以顺时针东、南,、西、北储存
第一个方法是采用递归的方式求解,通过探测下一个路口的方式来求解。
int MAZE(int x, int y) {
//将越界路口跳出
if(x<0||x>m||y<0||y>n) {
return 0;
}
int a,b;
int tag = 0;
//迷宫出口
if(x==8 && y==7)
return 1;
//试探相邻的4个路口
for(int i= 0; i<4; i++) {
a= x+ move[i][0</