2012-06-01 229 views
-2

我有一個二維數組和一個單維數組。 二維數組的大小爲NxM。並且一維數組的大小爲N×M,意味着其具有N×M個元素。我想將一維數組的所有元素複製到二維數組中。將一維數組複製到二維數組中

這是我試過

for(i = 0; i < M; i += 1) { 
     for(j = 0; j < N; j += 1) { 
      arr2d[i][j] = arr2d[(i*j +j)]; 
     } 
} 

但不工作的任何建議???

+5

爲什麼被標記爲'java','javascript'和'c'? –

+0

用什麼規則? – xdazz

+0

如果解決方案可以用任何語言提供,我標記了java和其他人。 –

回答

1
var arr1d = [1,2,3,4,5,6]; 
var M = 1, N = 2; 
var arr2d = []; 
var counter = 0; 
for(i = 0; i <= M; i += 1) { 
    for(j = 0; j <= N; j += 1) { 
     if(j == 0) 
      arr2d[i] = []; 
     arr2d[i][j] = arr1d[counter++]; 
    } 
} 
3

您可以更改:

arr2d[i][j] = arr2d[(i*j +j)]; 

到:

arr2d[i][j] = arr1d[(i*N + j)]; 

這將可能是更好的鍛鍊。