📜  矩阵的转置java(1)

📅  最后修改于: 2023-12-03 14:56:30.105000             🧑  作者: Mango

矩阵的转置 Java

矩阵的转置指的是将矩阵的行与列交换。在 Java 中,可以通过嵌套的 for 循环实现矩阵的转置。下面是一个示例程序:

public class MatrixTranspose {
    public static void main(String[] args) {
        int[][] matrix = { { 1, 2, 3 }, { 4, 5, 6 } };

        System.out.println("Original matrix:");
        printMatrix(matrix);

        int[][] transposedMatrix = transpose(matrix);
        System.out.println("Transposed matrix:");
        printMatrix(transposedMatrix);
    }

    public static int[][] transpose(int[][] matrix) {
        int[][] transposedMatrix = new int[matrix[0].length][matrix.length];

        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                transposedMatrix[j][i] = matrix[i][j];
            }
        }

        return transposedMatrix;
    }

    public static void printMatrix(int[][] matrix) {
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }
        System.out.println();
    }
}

在上面的示例程序中,我们首先定义了一个二维数组 matrix 表示原始矩阵。然后,我们通过调用 transpose 函数获取 transposedMatrix 表示转置后的矩阵。最后,我们分别输出原始矩阵和转置后的矩阵。

注意,我们使用了 printMatrix 函数来打印矩阵。该函数使用嵌套的 for 循环来遍历二维数组,并在控制台上输出每个元素。这种打印矩阵的方法可以方便地查看矩阵的形状和内容。

现在,让我们来看一下 transpose 函数。该函数接受一个二维数组 matrix 作为参数,返回一个转置后的二维数组。我们首先创建一个和转置后矩阵大小相同的二维数组 transposedMatrix。然后,我们使用嵌套的 for 循环遍历原始矩阵,将每个元素放到转置后的位置上。具体来说,我们将原始矩阵中的第 i 行第 j 列的元素赋值给转置后矩阵中的第 j 行第 i 列。

最终,我们会得到如下的输出:

Original matrix:
1 2 3 
4 5 6 

Transposed matrix:
1 4 
2 5 
3 6 

我们可以看到,原始矩阵是一个 2 行 3 列的矩阵,转置后的矩阵是一个 3 行 2 列的矩阵,每个元素的值都正确地交换了位置。这证明我们的程序确实实现了矩阵的转置。

总之,矩阵的转置是一个用途广泛的操作,可以用来解决很多实际问题。在 Java 中,我们可以使用嵌套的 for 循环来实现矩阵的转置,代码实现比较简单。