📜  数据结构-二维数组(1)

📅  最后修改于: 2023-12-03 15:10:19.960000             🧑  作者: Mango

二维数组

概念

在程序中,数组是一组按顺序排列的同类型数据的集合。而二维数组,则可以理解为“数组的数组”,即一个数组中包含多个数组。可以看做是一个表格,它由行和列组成,每个单元格可以存储一个数据。

定义

在很多编程语言中,可以使用以下方式定义一个二维数组:

dataType[][] arrayName = new dataType[rowSize][colSize];

其中,dataType 表示数组元素的数据类型,arrayName 是数组的名称,rowSize 表示行数,colSize 表示列数。如在 Java 中定义一个二维数组可以写成:

int[][] arr = new int[3][4];

这样就定义了一个有 3 行 4 列的二维数组。

初始化

二维数组也可以像一维数组一样进行初始化。有以下两种初始化方式:

  • 分行初始化
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};

这个二维数组是一个有 3 行 3 列的数组,可以通过下标访问每个元素,如 arr[0][0] 表示第一行第一列的元素,值为 1。

  • 一维数组初始化
int[][] arr = new int[3][];
arr[0] = new int[]{1, 2};
arr[1] = new int[]{3, 4, 5};
arr[2] = new int[]{6, 7, 8, 9};

这样就定义了一个有 3 行的二维数组,每行的元素个数不同。若访问 arr[1][2],则其值为 5。

遍历

遍历二维数组可以使用两个 for 循环嵌套,一次遍历行,另一次遍历列:

int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
for (int i = 0; i < arr.length; i++) {    // 行
    for (int j = 0; j < arr[i].length; j++) {     // 列
        System.out.print(arr[i][j] + " ");
    }
    System.out.println();
}

这段程序会输出以下内容:

1 2 3 
4 5 6 
7 8 9 
应用

二维数组的应用非常广泛,例如:

  • 二维数组可以用来表示地图,在游戏开发中非常常用。
  • 二维数组可以用于图像处理,存储像素点的颜色值。
  • 二维数组也可以用于解决一些算法问题,如矩阵旋转、图的遍历等。

总之,二维数组是一种非常常用的数据结构,掌握它的使用方法对程序员来说是非常重要的。