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);
对上面的数组,要求用选择排序法排序!不胜感激!
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);
对上面的数组,要求用选择排序法排序!不胜感激!
//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);
}
}
}
注意:Test.java 使用或覆盖了已过时的 API。
注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。
注意:Test.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
请教!怎么回事?
要不然2006,5,4,打印出来是Mon Jun 04 00:00:00 CST 39062、如果要我写排序的话直接就用Arrays.sort了,
不知道楼主是为了提升效率还是什么的..Api里面的这个方法应该是改良之后的了,
比大多数自己写的算法效率高吧