原文: https://www.programiz.com/java-programming/examples/transpose-matrix

在此程序中,您将学习查找并打印 Java 中给定矩阵的转置。

矩阵的转置是将行交换为列的过程。 对于2x3矩阵,

  1. Matrix
  2. a11 a12 a13
  3. a21 a22 a23
  4. Transposed Matrix
  5. a11 a21
  6. a12 a22
  7. a13 a23

示例:查找矩阵转置的程序

  1. public class Transpose {
  2. public static void main(String[] args) {
  3. int row = 2, column = 3;
  4. int[][] matrix = { {2, 3, 4}, {5, 6, 4} };
  5. // Display current matrix
  6. display(matrix);
  7. // Transpose the matrix
  8. int[][] transpose = new int[column][row];
  9. for(int i = 0; i < row; i++) {
  10. for (int j = 0; j < column; j++) {
  11. transpose[j][i] = matrix[i][j];
  12. }
  13. }
  14. // Display transposed matrix
  15. display(transpose);
  16. }
  17. public static void display(int[][] matrix) {
  18. System.out.println("The matrix is: ");
  19. for(int[] row : matrix) {
  20. for (int column : row) {
  21. System.out.print(column + " ");
  22. }
  23. System.out.println();
  24. }
  25. }
  26. }

运行该程序时,输出为:

  1. The matrix is:
  2. 2 3 4
  3. 5 6 4
  4. The matrix is:
  5. 2 5
  6. 3 6
  7. 4 4

在上述程序中,display()函数仅用于将矩阵的内容打印到屏幕上。

在此,给定矩阵的格式为2x3,即row = 2column = 3

对于转置矩阵,我们将转置顺序更改为3x2,即row = 3column = 2。 因此,我们有transpose = int[column][row]

矩阵的转置是通过简单地将列交换为行来计算的:

  1. transpose[j][i] = matrix[i][j];