队列迷宫解

张开发
2026/4/17 13:02:26 15 分钟阅读

分享文章

队列迷宫解
迷宫表示使用二维数组mg[][]表示迷宫0 表示可通行的路1 表示墙不可通行边界用墙包围防止越界第一步初始化1. 创建空队列 2. 将入口点(e.i, e.j, pre-1)入队 3. 标记入口点为已访问mg[xi][yi] -1第二步循环搜索核心while (队列不为空) { 1. 出队一个方块作为当前方块 2. 检查是否为出口 如果是 → 调用print函数输出路径返回成功 3. 扫描四个方向上、右、下、左 对每个方向 - 计算邻居坐标 (i1, j1) - 如果邻居可走mg[i1][j1] 0 * 创建新方块记录前驱为当前方块下标 * 新方块入队 * 标记邻居为已访问mg[i1][j1] -1 }第三步路径回溯当找到出口时从出口方块开始 while (pre ! -1) { 记录当前方块 移动到pre指向的前驱方块 } 逆序输出得到从入口到出口的路径仓库abcd: 队列迷宫

更多文章