您的位置:首页 > 其它

迷宫的第二种写法――递归实现

2013-10-11 21:21 316 查看
package com.java.study;
class MazeClass{
private int []H = {0 ,1 ,0, -1};
private int []V = {-1 ,0 ,1, 0};//上,右,下,左
private char[][]Maze;
private int len;
public MazeClass(char[][]Maze, int len){
this.Maze = Maze;
this.len = len;
}
public void FindPath(int x, int y){
if(x==len || y==len){
for(int i = 0 ; i < len ;i++){
for(int j = 0 ; j < len; j++){
char fenge = j < len-1 ? ' ':'\n';
System.out.print(Maze[i][j]);
System.out.print(fenge);
}
}
}else for(int k = 0 ; k < 4; k++){
if(x>=0 && y>=0 && y<len && x<len && 'o'==Maze[x][y]){
Maze[x][y] = ' ';
FindPath(x+V[k] , y+H[k]);//按四个方向去搜
Maze[x][y] = 'o';
}
}
}
}
public class Maze {

public static void main(String[] args) {
char Maze[][] =
{{'X','X','X','X','X','X','X','X'},
{'o','o','o','o','o','X','X','X'},
{'X','o','X','X','o','o','o','X'},
{'X','o','X','X','o','X','X','o'},
{'X','o','X','X','X','X','X','X'},
{'X','o','X','X','o','o','o','X'},
{'X','o','o','o','o','X','o','o'},
{'X','X','X','X','X','X','X','X'}};
MazeClass mc = new MazeClass(Maze,Maze.length);
mc.FindPath(1, 0);
}
}


本文出自 “再累也要开心D” 博客,请务必保留此出处http://zhangzhang.blog.51cto.com/6250085/1307674
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: