gpt4 book ai didi

java - 使用辅助方法在没有比较器的情况下对 Java 中的 2D Int Array 进行排序

转载 作者:行者123 更新时间:2023-12-02 11:27:30 28 4
gpt4 key购买 nike

我被困在一个作业中,我应该使用辅助方法对 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;
}
}
}

如果给定表示 2D 数组和列索引的输入参数,则对列进行排序:

  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];
}

现在,我如何在另一个只接受二维数组的方法中调用这两个方法,并且我必须首先对行进行排序,然后对列进行排序?

最佳答案

如果我理解正确的话,您想重用自己的方法来对二维数组进行排序。希望这可以帮助您:

public static void sort(int[][] a){
if(a == null || a.length == 0) return;

for(int row = 0; row < a.length; row++) {
sortOneRow(a[row]);
}

for(int col = 0; col < a[0].length; col++) {
sortOneColumneRow(a, col);
}
}

关于java - 使用辅助方法在没有比较器的情况下对 Java 中的 2D Int Array 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49502636/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com