数据结构,Java实现递归回溯,寻找出迷宫路线,解决迷宫问题
生活随笔
收集整理的這篇文章主要介紹了
数据结构,Java实现递归回溯,寻找出迷宫路线,解决迷宫问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** @Author: Yeman* @Date: 2021-10-28-22:52* @Description:*/
public class Labyrinth {public static void main(String[] args) {//七行八列的迷宮地圖int[][] map = new int[8][7];//設置墻for (int i = 0; i < 7; i++) {map[0][i] = 1;map[7][i] = 1;}for (int i = 0; i < 8; i++) {map[i][0] = 1;map[i][6] = 1;}map[2][1] = 1;map[2][2] = 1;//查看原地圖System.out.println("原地圖:");for (int i = 0; i < 8; i++) {for (int j = 0; j < 7; j++) {System.out.print(map[i][j] + " ");}System.out.println();}//走迷宮setWay(map, 1, 1);//查看走后的迷宮System.out.println("走過的:");for (int i = 0; i < 8; i++) {for (int j = 0; j < 7; j++) {System.out.print(map[i][j] + " ");}System.out.println();}}//使用遞歸尋找//約定0為還沒走過,1為墻,2為通路,3為行不通的public static boolean setWay(int[][] map, int i, int j){if (map[6][5] == 2){return true;}else {if (map[i][j] == 0){map[i][j] = 2;//策略:下右上左if (setWay(map,i+1,j)){return true;}else if (setWay(map,i,j+1)){return true;}else if (setWay(map,i-1,j)){return true;}else if (setWay(map,i,j-1)){return true;}else {map[i][j] = 3;return false;}}else {return false;}}}
}
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎
總結
以上是生活随笔為你收集整理的数据结构,Java实现递归回溯,寻找出迷宫路线,解决迷宫问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谁是君来谁是臣的上句是什么
- 下一篇: 学习小组组名和口号励志霸气525个