迷宫的第二种写法――递归实现
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
相关文章推荐
- linux 下 /etc/network/interfaces 作用
- 看雪红客教程
- Oracle CASE WHEN 用法介绍
- win7无法访问windows 2003共享文件
- IE7在新的窗口或标签页里打不开网页
- ECLIPSE - 新建jsp页面默认模板设置
- 模块参数和模块之间的通讯
- Cocos2d-x 自定义可接收处理触摸消息精灵类
- 类的继承
- C语言编程宝典
- DOS特殊命令应用技巧
- JNDI链接Weblogic数据源
- spanion flash 操作要点总结
- Properties常用API
- IOS深入学习(18)之Target-Action
- NGUI相关小知识
- 浅入浅出网络技术(二)—IP地址规划
- 字符串的本地C++类库
- 笔记
- linux进程标示号