我得到了 το 代码,用于准备考试的数组排序。我已经完成了,唯一的问题是我的最小变量没有自行重置。我不能把它设为“null”
也许你有一个想法...在一开始我输入了 min = c[0][0];
但如果这是最小的数字。这是行不通的。 :/
public class Sort {
public static void main(String[] args) {
int[] a = {3,2,-1,-2,-5,4};
specialSort(a);
}
static void specialSort(int[] a) {
try {
int[] b = new int[a.length];
int[][] c = new int[a.length][2];
for (int k = 0; k<a.length; k++) {
for (int l = 0; l<2; l++) {
if (l == 0) {
c[k][l] = a[k];
} else {
c[k][l] = 0;
}
}
}
int min, minindex;
for (int j=0; j<c.length; j++) {
for (int i=0; i<c.length; i++) {
if (c[i][1] == 0) {
min = c[i][0];
if (min > c[i][0]) {
min=c[i][0];
minindex = i;
}
}
}
b[j] = min;
c[minindex][1] = 1;
}
for(int i=0; i<c.length; ++i) {
//for(int j=0; j<2; j++) {
System.out.print(b[i]+" ");
System.out.println();
}
} catch (IllegalArgumentException e) {
System.out.println("dulli");
}
}
}
最佳答案
如果我正确理解你的意思以及你的问题是什么,为什么不尝试将 min 最初设置为
Integer.MAX_VALUE
或
Long.MAX_VALUE
取决于数据的类型,以便您以某种方式将其替换为输入中的数字之一,因为输入中的某些数字肯定会小于java可以表示的最大数字?我认为如果你这样做应该可行
关于java - 对数组进行排序,差不多完成了,只需要重置最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794597/