我最近学会了如何使用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;
}
}
有人可以告诉我如何使用此代码但按降序排序? 最好的问候
答案 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处的元素时,才会进行交换,因此较小的数字会进一步向右移动。