迷宫算法,宽度优先搜索Java实现
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
5 5
1 1 0 1 1
0 1 0 1 0
0 1 1 1 0
0 0 1 1 0
1 0 1 1 1
*
*/
public class BfsTest {
// 迷宫,0:墙, 1:路
static int[][] maze;
// 迷宫大小
static int m, n;
// 行走方向判断辅助数组,一个点可以想四个方向行走
static int[] dx = {
1, -1, 0, 0 };
static int[] dy = {
0, 0, 1, -1 };
// 保存起点到该点的最短路径
static int[][] dist = new int[100][100];
// 该点是否走过
static boolean[][] vstd = new boolean[100][100];
// 将下一步要走的路放入队列,使用队列实现递归
static List<Point> queue = new ArrayList<>();