选择排序
package com.ssdou;
public class SelectSort {
public static void main(String []args){
Date [] arr = new Date [5 ];
arr[0 ] = new Date (2012 ,8 ,6 );
arr[1 ] = new Date (2009 ,8 ,5 );
arr[2 ] = new Date (2012 ,8 ,5 );
arr[3 ] = new Date (2013 ,10 ,24 );
arr[4 ] = new Date (2008 ,4 ,17 );
selectSort(arr);
for (int i = 0 ;i<arr.length;i++){
System.out.println(arr[i]);
}
}
public static Date [] selectSort(Date [] arr){
int minIndex;
Date temp;
for (int i = 0 ;i<arr.length-1 ;i++){
minIndex = i;
for (int j =i+1 ;j<arr.length;j++ ){
if (arr[minIndex].Compare(arr[j])>0 ){
minIndex = j;
}
if (minIndex != i){
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
return arr;
}
}
class Date {
int years,month ,days;
Date (int years,int month ,int days){
this.years = years;
this.month = month ;
this.days = days;
}
public int Compare(Date date ){
return years > date .years ? 1 :years<date .years ? -1 :month >date .month ? 1 :month <date .month ? -1 :days>date .days ? 1 :days<date .days ?-1 :0 ;
}
public String toString(){
return "日期排序" +years+"年" +month +"月" +days+"日" ;
}
}