对数组进行排序,差不多完成了,只需要重新设置最小值

Sort an array, nearlly done, just need to reset the minimum

我得到了用于考试准备的 το 数组排序代码。我已经完成了,唯一的问题是我的最小变量没有自行重置。我不能把它 "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 initially 设置为

Integer.MAX_VALUE

Long.MAX_VALUE

取决于您的数据类型,因此您将以某种方式将其替换为您输入的数字之一,因为您输入的某些数字肯定会小于最大数字 java代表?我认为如果你这样做应该可以工作