日期:2014-05-20  浏览次数:21058 次

用二维数组去模拟迷宫问题
用二维数组,表示一个迷宫,通过程序,给出迷宫的路径
用0表示通路。用1表示墙

------解决方案--------------------
1。建数组
int[][] a = new int[num][5];//num为迷宫内位置总数
a[i][0]=0或1,用0表示通路,用1表示墙,-1表示出口。
a[i][1]-a[i][4]表示四个方向相邻位置在数组的位置。
2。初始化数组,自己想一个吧。
3。建一个堆栈放路径。
4。用递归算路径。
判断当前是否墙:
a[i][0]==0墙,返回false;
a[i][0]==1通路,将该位置放入堆栈,继续递归相邻4个方向位置,若4个方向都返回false,则将该位置移出堆栈,并返回false;否则返回true;
a[i][0]==-1到达出口,将该位置放入堆栈,并返回true。
5。打印出堆栈里的路径。