Date[] days = new Date[5];
days[0] = new Date(2006,5,4);
days[1] = new Date(2006,7,4);
days[2] = new Date(2008,5,4);
days[3] = new Date(2004,5,9);
days[4] = new Date(2004,5,4);
对上面的数组,要求用选择排序法排序!不胜感激!

解决方案 »

  1.   


    //package com.ricky.www;import java.util.Date;
    import java.util.Arrays;
    /*
    Date[] days = new Date[5];
    days[0] = new Date(2006,5,4);
    days[1] = new Date(2006,7,4);
    days[2] = new Date(2008,5,4);
    days[3] = new Date(2004,5,9);
    days[4] = new Date(2004,5,4);
    对上面的数组,要求用选择排序法排序!不胜感激!
    */
    public class Test{
    public static void main(String[] args){
    Date[] days = new Date[5];
    days[0] = new Date(2006,5,4);
    days[1] = new Date(2006,7,4);
    days[2] = new Date(2008,5,4);
    days[3] = new Date(2004,5,9);
    days[4] = new Date(2004,5,4);
    sort1(days); //这里也可以用sort2();更加方便
    print(days);
    } public static <T extends Comparable> void  sort1(T[] args){
    int minIndex = 0;
    int length = args.length;
    T temp = null;
    for(int i = 0; i < length ; i ++){
    minIndex = i;
    for(int j = i ; j < length ; j ++){
    if(args[minIndex].compareTo(args[j]) > 0){
    minIndex = j;
    }
    }
    temp = args[minIndex];
    args[minIndex] = args[i];
    args[i] = temp;
    }
    } public static <T extends Comparable> void sort2(T[] args){
    Arrays.sort(args);
    } private static void print(Object[] args){
    for(Object o : args){
    System.out.println(o);
    }
    }
    }
      

  2.   

    util.Date类实现了Comparable接口,实现此接口的对象列表(和数组)可以通过 Collections.sort(和 Arrays.sort)进行自动排序。
      

  3.   

    1楼的很辛苦,看样子是高手!但是我编译时出现:
    注意:Test.java 使用或覆盖了已过时的 API。
    注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
    注意:Test.java 使用了未经检查或不安全的操作。
    注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
      请教!怎么回事?
      

  4.   

    你的Date的构造方法是过时的,第二是因为涉及到泛型中的类型转换
      

  5.   

    1、构造方法重新写吧,推荐用simpleDateFormat,
    要不然2006,5,4,打印出来是Mon Jun 04 00:00:00 CST 39062、如果要我写排序的话直接就用Arrays.sort了,
    不知道楼主是为了提升效率还是什么的..Api里面的这个方法应该是改良之后的了,
    比大多数自己写的算法效率高吧
      

  6.   

    你的Date的构造方法是过时的,第二是因为涉及到泛型中的类型转换哎!一头雾水!还是要打扰你我的qq是578672650,行吗?
      

  7.   

    先去看看Date API的构造函数,至于泛型和容器类这些的等到时候你学到自然会知道了