所以今晚我来到这里,想到了这个问题:
您最喜欢访问 m x n 矩阵的项目的方式是什么
通常的方法是对列使用索引 和行矩阵的另一个索引[i][j]
还有另一种方法,你的矩阵是一个长度为 m*n 的 vector 并且您使用 [i*n+j] 作为索引号访问项目
告诉我你最喜欢什么方法,还有其他方法吗 这适用于特定情况吗?
最佳答案
假设我们有一段 C(++) 代码:
int x = 3;
int y = 4;
arr2d[x][y] = 0xFF;
arr1d[x*10+y] = 0xFF;
地点:
unsigned char arr2d[10][10];
unsigned char arr1d[10*10];
现在让我们看看它的编译版本(汇编;使用调试器):
正如您所看到的,无论您是否使用二维数组,访问数组元素时绝对没有任何损失或减速,因为这两种方法实际上是相同的。
关于java - 二维数组 : prefered way access items,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7457877/