Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 旋转/转置二维阵列的最佳方法是什么_Arrays_Rotation_2d - Fatal编程技术网

Arrays 旋转/转置二维阵列的最佳方法是什么

Arrays 旋转/转置二维阵列的最佳方法是什么,arrays,rotation,2d,Arrays,Rotation,2d,我被困在如何将整个桌子旋转90度的问题上。如果我有一个二维数组,如下图所示 { {0,0,1,0} ,{0,1,1,0} ,{0,1,0,0} ,{0,0,0,0} } 什么是最好的旋转或转置整个表的数组成90度。所以旋转后应该是这样的 { {0,0,0,0} ,{0,1,1,0} ,{0,0,1,1} ,{0,0,0,0} } 让我们调用第一个数组A和第二个数组B。 请注意,数组a中的COLLMN变为旋转数组B中的一行(a中的第一COLLMN变为B中的第一行等),a中第一COLLMN的

我被困在如何将整个桌子旋转90度的问题上。如果我有一个二维数组,如下图所示

{
 {0,0,1,0}
,{0,1,1,0}
,{0,1,0,0}
,{0,0,0,0}
}
什么是最好的旋转或转置整个表的数组成90度。所以旋转后应该是这样的

{
 {0,0,0,0}
,{0,1,1,0}
,{0,0,1,1}
,{0,0,0,0}
}

让我们调用第一个数组A和第二个数组B。 请注意,数组a中的COLLMN变为旋转数组B中的一行(a中的第一COLLMN变为B中的第一行等),a中第一COLLMN的第一个元素变为B中第一行的最后一个元素,第二个变为第三个,第三个变为第二个等。。。 所以我认为代码应该是这样的:

for(int i=0; i<N; i++)
{
   for(int j=0; j<N; j++)
   {
      B[j][N-1-i]=A[i][j];
   }
} // where N is the size of your array
for(int i=0;i
for(int j=0; j<M; j++)