int []数组(从最低到最高)

Aus*_*tin 8 java arrays sorting

所以我不确定为什么这对我来说变得如此困难,但我需要从高到低,从低到高排序.

从高到低我有:

int a, b;
int temp;
int sortTheNumbers = len - 1;

for (a = 0; a < sortTheNumbers; ++a) {
    for (b = 0; b < sortTheNumbers; ++b) {
        if (array[b] < array[b + 1]) {
            temp = array[b];
            array[b] = array[b + 1];
            array[b + 1] = temp;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我不能为我的生活让它反向工作(从低到高),我已经考虑过逻辑,它总是为所有值返回0.任何帮助赞赏!

更大的图景是我有一个4列的JTable,每列都有数字,名称或日期的条目.我需要能够来回排序.

谢谢!

Ken*_*net 18

除非您认为使用已经可用的排序功能并且自动装箱作弊:

Integer[] arr =
    { 12, 67, 1, 34, 9, 78, 6, 31 };
    Arrays.sort(arr, new Comparator<Integer>()
    {
        @Override
        public int compare(Integer x, Integer y)
        {
            return x - y;
        }
    });

    System.out.println("low to high:" + Arrays.toString(arr));
Run Code Online (Sandbox Code Playgroud)

打印 low to high:[1, 6, 9, 12, 31, 34, 67, 78]

如果你需要高后低的变化x-y ,以y-x在比较