如何逆转二维数组的坐标?

时间:2018-10-12 16:08:37

标签: java arrays

我想完全反转 Java 中二维数组的x和y坐标。而且,它可以反转具有不同长度的二维数组。 例如:     array [row] [column] = array [column] [row];

2 个答案:

答案 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;
}