排序数组降序

时间:2014-11-13 23:58:28

标签: java arrays sorting

我最近学会了如何使用Java中的代码按升序对数组进行排序;

int swapIndex,temp; 
for(int index=0; index<=array.length-2; index++) { 
    swapIndex = index; 
    for(int i=index+1; i<=array.length-1; i++) 
       if(array[i]<array[swapIndex]) swapIndex = i; 
    temp = array[index]; array[index] = array[swapIndex]; 
    array[swapIndex] = temp; 
  } 
}

有人可以告诉我如何使用此代码但按降序排序? 最好的问候

2 个答案:

答案 0 :(得分:0)

为什么不用这样的东西呢?

Arrays.sort(array, Collections.reverseOrder());

答案 1 :(得分:0)

只需在if语句中翻转标志

即可
int swapIndex,temp; 
for(int index=0; index<=array.length-2; index++) { 
    swapIndex = index; 
    for(int i=index+1; i<=array.length-1; i++) 
       if(array[i] > array[swapIndex]) swapIndex = i; //change the sign
    temp = array[index]; array[index] = array[swapIndex]; 
    array[swapIndex] = temp; 
  } 
}

这样,只有当i处的元素大于swapIndex处的元素时,才会进行交换,因此较小的数字会进一步向右移动。