【发布时间】:2018-03-27 00:27:53
【问题描述】:
我被困在一个作业上,我应该使用辅助方法对 Java 中的 2D int 数组中的行和列进行排序。明确要求使用两种不同的方法对数组进行排序。无论如何,这是我对行进行排序的代码
public static void sortOneRow(int[] arr1) {
int temp;
for (int i = 0; i < arr1.length; i++) {
for (int j = i + 1; j < arr1.length; j++) {
if (arr1[i] > arr1[j]) {
temp = arr1[i];
arr1[i] = arr1[j];
arr1[j] = temp;
}
}
}
如果给定一个代表二维数组和列索引的输入参数,这里是对列进行排序:
public static void sortOneColumn(int[][] x, int colNo) {
// Sorting one column
int[] thisCol = new int[x.length];
for (int i = 0; i < x.length; i++) {
thisCol[i] = x[i][colNo];
}
// Sort
sortOneRow(thisCol);
for (int i = 0; i < x.length; i++) {
x[i][colNo] = thisCol[i];
}
现在,我如何在另一个只接受二维数组的方法中调用这两个方法,并且我必须先对行进行排序,然后对列进行排序?
【问题讨论】:
-
为什么您的 sortOneRow 不等同于 sortOneColumn 之一?在这两种情况下,它都是一个二维数组,对吧?
-
你不能也使用 Arrays.sort 方法吗?
-
@Adya 不,不能用那个
-
@JorgeCampos 按照说明,我必须创建不同的方法来对行和列进行排序,然后使用这些方法中的每一个对 2D 矩阵进行排序
标签: java arrays sorting multidimensional-array methods