2015-03-02 43 views

回答

1

int len=arr1D.length(); 
 
if(len%512 !=0)) 
 
len= len/512 +1; 
 
else 
 
len=len/512; 
 

 
int arr2D= new int[len][512]; 
 
int k=0; 
 
for(int i=0; i<len-1; i++) 
 
{ 
 

 
\t for(int j=0; j<512; j++) 
 
\t { 
 
\t \t arr2D[i][j]=arr1D[k]; 
 
\t \t k++; 
 
       if (k==arr1D.length()) 
 
        break; 
 
\t } \t 
 
}

0

那么你可以很容易地通过做

yourtype arr2D[][] = new yourtype[arr1D.length/2][512]// yourtype :=[int,float,..]

现在一切都取决于你,你将如何在arr2d

1

arr1d这些元素复制如何约两forloops复制创建他们:

2darray[][]; 
size1d = 1024; 
num_colums = 512; 
num_rows = size1d/num_colums; 
for(i = 0; i < num_rows; i++){ 
    for(j = 0; j < num_colums; j++){ 
      2darray[i][j] = 1darray[i*num_colums+j]; 
     } 
} 

这只是伪代码,但有几个twee ks它应该工作;希望它可以帮助:-)

相关问题