我对如何扭转这些排序方法感到非常困惑。任何帮助,将不胜感激。 我已经抬头并尝试过研究,但我找不到与此类可比列表有关的任何内容。
public class Sorting
{
public static void selectionSort(Comparable[] list)
{
int min;
Comparable temp;
for (int index = 0; index < list.length-1; index++)
{
min = index;
for (int scan = index+1; scan < list.length; scan++)
if (list[scan].compareTo(list[min]) < 0)
min = scan;
temp = list[min];
list[min] = list[index];
list[index] = temp;
}
}
public static void insertionSort(Comparable[] list)
{
for (int index = 1; index < list.length; index++)
{
Comparable key = list[index];
int position = index;
while (position > 0 && key.compareTo(list[position-1]) < 0)
{
list[position] = list[position-1];
position--;
}
list[position] = key;
}
}
}
答案 0 :(得分:0)
我想如果你改变:
if (list[scan].compareTo(list[min]) < 0)
至
if (list[scan].compareTo(list[min]) > 0)
它将按相反顺序排序。
int compareTo(T o)
将此对象与指定的订单对象进行比较。返回负整数,零或正整数,因为此对象小于,等于或大于指定对象。