我为代码准备了一个数组排序代码。我已经完成了,唯一的问题是我的最小变量没有重置它自己。我不能把它说成“空”
也许你有了一个想法......一开始我把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");
}
}
}
答案 0 :(得分:1)
如果我理解你说的是什么以及你的问题是什么,为什么不尝试将min设置为
Integer.MAX_VALUE
或
Long.MAX_VALUE
取决于您的数据类型,因此您将以某种方式用输入中的一个数字替换它,因为您的输入中的某些数字肯定会小于java可以表示的最大数字?我认为如果你这样做就应该有用