我想完全反转 Java 中二维数组的x和y坐标。而且,它可以反转具有不同长度的二维数组。 例如: array [row] [column] = array [column] [row];
答案 0 :(得分:1)
仅当两个尺寸相等时才可以执行此操作。如果是这样,请遍历每一行,然后交换大于该行的所有列位置。
因此,假设您要交换一个3x3数组:
第一个循环: 0,1与1,0 0,2和2,0
第二个循环: 1,2和2,1
第三循环: 没事
要循环使用for
。要获取给定数组的长度,请使用array.length
。要交换,请创建一个临时变量。例如:
int x = array[c][r];
array[c][r] = array[r][c];
array[r][c] = x;
将交换[c,r]和[r,c]。
答案 1 :(得分:0)
您可以使用类似的东西
public static int[][] transpose(int[][] matrix)
{
int m = matrix.length;
int n = matrix[0].length;
int[][] transposedMatrix = new int[n][m];
for(int i = 0; i < n; i++)
{
for(int j = 0; j < m; j++)
{
transposedMatrix[i][j] = matrix[j][i];
}
}
return transposedMatrix;
}