📅  最后修改于: 2023-12-03 15:11:16.661000             🧑  作者: Mango
本程序旨在提供一种对给定矩阵进行排序的方法。本文将介绍该程序的设计思路及核心代码。
该程序基于Java编写,使用了Java内置的排序算法Arrays.sort()。排序过程中,先将矩阵转换为一维数组,然后进行排序。排序完成后,再将一维数组转换为矩阵。程序设计简单,易于实现。
public static void sortMatrix(int[][] matrix) {
int row = matrix.length;
int col = matrix[0].length;
int[] array = new int[row * col];
int k = 0;
for (int i=0; i<row; i++) {
for (int j=0; j<col; j++) {
array[k++] = matrix[i][j];
}
}
Arrays.sort(array);
k = 0;
for (int i=0; i<row; i++) {
for (int j=0; j<col; j++) {
matrix[i][j] = array[k++];
}
}
System.out.println("排序后的矩阵为:");
for (int i=0; i<row; i++) {
for (int j=0; j<col; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
上述代码主要包含一个sortMatrix方法,该方法接收一个二维数组matrix作为参数,然后将该矩阵排序。排序过程分为两步:将矩阵转换为一维数组,排序后再将一维数组转换为矩阵。其中,数组转矩阵的过程通过双重循环实现,代码简洁清晰。
下面是一个示例,使用sortMatrix方法对一个3x3的矩阵进行排序。
public static void main(String[] args) {
int[][] matrix = {{3, 2, 1}, {6, 5, 4}, {9, 8, 7}};
System.out.println("原始矩阵为:");
for (int i=0; i<matrix.length; i++) {
for (int j=0; j<matrix[0].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
sortMatrix(matrix);
}
运行结果如下:
原始矩阵为:
3 2 1
6 5 4
9 8 7
排序后的矩阵为:
1 2 3
4 5 6
7 8 9
本文介绍了一个用于对给定矩阵进行排序的Java程序。该程序使用了Java内置的排序算法,能够简单而快速地对矩阵进行排序。如果您在矩阵排序中遇到了困难,可以尝试使用本程序进行排序。