使两个排序算法按降序排列值。然后创建驱动器类来测试两个算法

时间:2017-02-09 19:44:04

标签: drjava

我对如何扭转这些排序方法感到非常困惑。任何帮助,将不胜感激。 我已经抬头并尝试过研究,但我找不到与此类可比列表有关的任何内容。

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;
      }
   }
}

1 个答案:

答案 0 :(得分:0)

我想如果你改变: if (list[scan].compareTo(list[min]) < 0) if (list[scan].compareTo(list[min]) > 0) 它将按相反顺序排序。

Here is the api

  

int compareTo(T o)

     

将此对象与指定的订单对象进行比较。返回负整数,零或正整数,因为此对象小于,等于或大于指定对象。