Java 从二维阵列到一维阵列的转换
所以我正致力于将这种逻辑从2D应用程序转换为一维数组中的函数。最让我困惑的是数组以及它们的循环将如何工作。任何意见都将不胜感激Java 从二维阵列到一维阵列的转换,java,arrays,implicit-conversion,Java,Arrays,Implicit Conversion,所以我正致力于将这种逻辑从2D应用程序转换为一维数组中的函数。最让我困惑的是数组以及它们的循环将如何工作。任何意见都将不胜感激 LcgRandom rand=new LcgRandom(); int[][]三角形=新的int[行][]; 对于(int i=0;i
LcgRandom rand=new LcgRandom();
int[][]三角形=新的int[行][];
对于(int i=0;i 对于(int j=0;j如果您打算以行主形式存储2D数组,即首先线性存储所有行1元素,然后线性存储行2元素,依此类推,则需要调整索引计算
假设2D数组有R行和C列,则每行有C个元素。因此,您的索引计算如下:
array_1d[j + i*C] == array_2d[i][j] // This is true.
因此,您的1D数组将包含R*C
元素。因此,这是在“三角形”数据中进行迭代,这是否意味着将有“高度”*“高度”+1数据项?或者您是说可以使用上述代码段更改直接实现?您可以分配r*c
元素,并使用上面给出的逻辑进行迭代(用于索引)如果你做得正确,它应该与2D的情况相同。如果每行的列数不同,你的C
将相应地改变。