2D和3D阵列有什么区别

时间:2019-10-25 08:26:41

标签: arrays multidimensional-array

根据我的理解,2D和3D阵列之间有什么区别

一维数组

enter image description here

二维数组

enter image description here

但是我不了解的是,什么是3D数组及其表示方式,如果您主动向我解释使用任何特定语言,请使用python。

2 个答案:

答案 0 :(得分:1)

一维数组是一个数组,您必须为该数组指定一个参数(称为 index )以访问特定值。

E.G。具有以下一维数组

array = [0,1,2,9,6,5,8]

索引1处的数组的值为1。索引3处的数组的值为9。如果要将数组中的第3个值更新为8,则应进行

array[2] = 8

二维数组只是数组的数组。因此,您必须提供两个参数来访问单个值。

two_dim_array = [[1,2,3],[4,5,6],[7,8,9]]

如果要更新“第二”值,则必须进行

two_dim_array[0][1] = 'something'

这是因为two_dim_array[0]是一维数组,您仍然必须指定索引来访问值。

从现在开始,您可以使用相同的推理继续深入。列表中的另一个层次是任何其他维度。因此,三维数组将是:

3d_array = 
[
    [
        [1,2,3,4],
        [5,6,7,8]
    ],
    [
        [9,10,11,12],
        [13,14,15,16]
    ]
]

现在要访问一个值,您必须提供.. 3个参数。因为

3d_array[0] // is a two-dim array
3d_array[0][1] // is a one-dim array
3d_array[0][1][0] // is a value

我建议您开始做简单的练习,以使您熟悉这个概念,因为它确实是101个编程方面的东西。 W3resource有丰富的练习技巧,可以帮助您入门。

答案 1 :(得分:1)

要声明一个二维数组,只需列出两组空括号,如下所示:

int numbers[][];

在这里,数字是int类型的二维数组。换句话说,数字是一个整数数组。

通常,嵌套的for循环用于处理二维数组的元素,例如     在此示例中:

for (int x = 0; x < 10; x++) 
{
    for (int y = 0; y < 10; y++) 
    {
        numbers[x][y] = (int)(Math.random() * 100) + 1
    }
}

要声明一个具有两个以上维度的数组,只需指定所需的多组空括号即可。例如:

int[][][] threeD = new int[3][3][3];

在这里,创建了一个三维数组,每个三维数组包含三个元素。您可以将此数组视为一个多维数据集。每个元素都需要三个索引才能访问。

您也可以根据需要嵌套最深的初始化程序。例如:

int[][][] threeD = 
    {  { {1,   2,  3}, { 4,  5,  6}, { 7,  8,  9} },
       { {10, 11, 12}, {13, 14, 15}, {16, 17, 18} },
       { {19, 20, 21}, {22, 23, 24}, {25, 26, 27} } };