Which to print first in a 2D Array?
有人告诉我,当您有一个代码来打印一个数组时,有一种约定,即有一个值必须比另一个值先出现,例如:
1 2 3 | for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; column++) System.out.print("" + array[i][j]);} |
是
PS:我不是在问Java,而是关于C,C,C++,JavaScript等等。
正如你所写,公约是按顺序进行的:
1 2 3 | for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; column++) System.out.print("" + array[i][j]);} |
这里,循环中
这是代码中所写的自然顺序。它也是存储元素存储在大多数语言中的顺序(Java,C,C,C,C++)。这被称为行主顺序,其中同一行中的元素位于连续的内存位置中。
对于按行主顺序排列的3×3数组
1 | a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2], a[2][0], a[2][1], a[2][2] |
按行主顺序索引到数组中也有性能优势。通过按顺序访问内存,可以最小化缓存未命中。
1 | for (int i = 0; i < array.length; i++) { |
意味着
1 | for (int j = 0; j < array[i].length; column++) |
指示
所以是的,