-5

我想使用嵌套的 for 循环将 2d 数组的元素带入 1d 数组。我可以使用在外部循环中声明并在内部循环中递增的索引变量来做到这一点吗?

for(int i=0, l=0; i<a; i++){
        for(int j=0; j<b ; i++; l++)
            narray[l]=oldarray[i][j];
        }

现在让它工作,通过这样做:

int l = 0
for(int i=0; i<a; i++){
  for(int j=0; j<b ; i++){
       narray[l]=oldarray[i][j];
       l++;
 }
}
4

1 回答 1

0

因此,您有一个矩阵(多维数组),其中包含“a”行和“b”列,并且您希望将此矩阵转换为一维数组。

   int l = 0
   for(int i=0; i<a; i++){
     for(int j=0; j<b ; j++){
      narray[l]=oldarray[i][j];
      l++;
     }
   }

这段代码在java中是有效的..但是看看内部for循环..只有for循环旁边的第一行将被执行所以变量'l'将保持为0直到内部循环完成循环..所以在这种情况下你只需设置新数组的第一个元素..

所以你需要更改代码..新的数组长度将是 a*b (rows*columns)

  int l = 0
  for(int i=0; i<a; i++)
  {
      for(int j=0; j<b ; j++)
      {
         narray[l]=oldarray[i][j];
         l++;
      }
   }
于 2013-04-18T20:18:54.660 回答