首页 > 其他分享 >二维数组遍历

二维数组遍历

时间:2022-10-22 11:46:18浏览次数:63  
标签:11 13 遍历 数组 二维 12 进入 退出 overflow

代码:

@Test
    public void solve() {
        int i, j = 0;
        char[][] grid = new char[5][5];
        Map<String, Integer> pass = new LinkedHashMap<String, Integer>();
        dfs(grid, 0, 0, pass);

    }
    private void dfs(char[][] grid, int i, int j, Map<String, Integer> pass) {
        System.out.println(i + ";" + j);
        if (i == grid.length) {
            System.out.println("return i overflow");
            return;
        }
        if (j == grid[0].length) {
            System.out.println("return j overflow");
            return;
        }
        if (pass.get(i + ";" + j) != null) {
            System.out.println("allready");
            return;
        } else {
            pass.put(i + ";" + j, 1);
        }
        System.out.println("进入 i+1");
        dfs(grid, i + 1, j, pass);
        System.out.println("退出 i+1");
        System.out.println("进入 j+1");
        dfs(grid, i, j + 1, pass);
        System.out.println("退出 i+1");
    }

遍历顺序

1    22   23   24    25

2    18   19   20    21

3    14   15   16   17

4    10   11  12   13

5     6     7    8     9 

遍历过程 

0;0
进入 i+1
1;0
进入 i+1
2;0
进入 i+1
3;0
进入 i+1
4;0
进入 i+1
5;0
return i overflow
退出 i+1
进入 j+1
4;1
进入 i+1
5;1
return i overflow
退出 i+1
进入 j+1
4;2
进入 i+1
5;2
return i overflow
退出 i+1
进入 j+1
4;3
进入 i+1
5;3
return i overflow
退出 i+1
进入 j+1
4;4
进入 i+1
5;4
return i overflow
退出 i+1
进入 j+1
4;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
进入 j+1
3;1
进入 i+1
4;1
allready
退出 i+1
进入 j+1
3;2
进入 i+1
4;2
allready
退出 i+1
进入 j+1
3;3
进入 i+1
4;3
allready
退出 i+1
进入 j+1
3;4
进入 i+1
4;4
allready
退出 i+1
进入 j+1
3;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
进入 j+1
2;1
进入 i+1
3;1
allready
退出 i+1
进入 j+1
2;2
进入 i+1
3;2
allready
退出 i+1
进入 j+1
2;3
进入 i+1
3;3
allready
退出 i+1
进入 j+1
2;4
进入 i+1
3;4
allready
退出 i+1
进入 j+1
2;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
进入 j+1
1;1
进入 i+1
2;1
allready
退出 i+1
进入 j+1
1;2
进入 i+1
2;2
allready
退出 i+1
进入 j+1
1;3
进入 i+1
2;3
allready
退出 i+1
进入 j+1
1;4
进入 i+1
2;4
allready
退出 i+1
进入 j+1
1;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1
进入 j+1
0;1
进入 i+1
1;1
allready
退出 i+1
进入 j+1
0;2
进入 i+1
1;2
allready
退出 i+1
进入 j+1
0;3
进入 i+1
1;3
allready
退出 i+1
进入 j+1
0;4
进入 i+1
1;4
allready
退出 i+1
进入 j+1
0;5
return j overflow
退出 i+1
退出 i+1
退出 i+1
退出 i+1
退出 i+1

 

标签:11,13,遍历,数组,二维,12,进入,退出,overflow
From: https://www.cnblogs.com/yanher/p/16815691.html

相关文章