翻转一个2d阵列

时间:2009-11-17 10:15:17

标签: arrays

我正在尝试将2D数组添加到表单中,因此我可以像我需要的那样使用它。我只是无法正确修改它..

说我有一个2D数组:

0 1 0 1 0 
0 0 1 1 1 
0 0 0 3 0 
0 0 0 0 1 
0 0 0 0 0 

如何将其翻转为对称,所以当前位置0,1为1,因此位置1,0将为1?

这会使这种情况发生吗?

我需要这样做,这样我才能解决欧拉之旅

3 个答案:

答案 0 :(得分:1)

您可以以翻转的方式访问它。

x = 3;
y = 5;

// Ask for x,y element
$normal = $myarray[$x][$y];         

// Ask for x,y in the flipped array by asking for y,x
$flipped_access = $myarray[$y][$x]; 

答案 1 :(得分:0)

像这样(伪代码)?

for x = 0 to width
  for y = 0 to x-1
     swap( array[x][y], array[y][x] )

虽然取决于您的环境,但可能有一些特殊方法可以做到这一点。

答案 2 :(得分:0)

与转置方阵不同吗?


(for i=0; i < order; i++) {
  for(j =i; j < order; j++) {
   temp = arr[i][j];
   arr[i][j] = arr[j][i];
   arr[j][i] = temp;
 }
}