冒泡排序:
public class IntBubbleSort{
public static void main(String[] args){
int[] a = {1, 3, 8, 5, 4, 2, 9, 13, 10, 11};
bubbleSort(a);
for(int i=0; i<a.length; i++){
System.out.print(a[i]+" ");
}
System.out.println();
}
public static void bubbleSort(int[] arr){
for(int i=arr.length-1; i>=1; i--){
for(int j=0; j<=i-1; j++){
if(arr[j] > arr[i]){
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
}
C:\myjava\Array>java IntBubbleSort
1 2 3 4 5 8 9 10 11 13
选择排序:
public class RefSelectSort{
public static void main(String[] args){
Date[] days = new Date[5];
days[0] = new Date(2014, 5, 4);
days[1] = new Date(2014, 9, 4);
days[2] = new Date(2012, 5, 4);
days[3] = new Date(2014, 5, 9);
days[4] = new Date(2018, 5, 4);
selectSort(days);
for(int i=0; i<days.length; i++){
System.out.println(days[i]);
}
}
public static Date[] selectSort(Date[] a){
int len = a.length;
for(int i=0; i<len; i++){
for(int j=i+1; j<len; j++){
if(a[i].compare(a[j]) > 0){
Date temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
return a;
}
}
class Date{
int year;
int month;
int day;
Date(int y, int m, int d){
year = y;
month = m;
day = d;
}
public int compare(Date date){
return year > date.year ? 1
: year < date.year ? -1
: month > date.month ? 1
: month < date.month ? -1
: day > date.day ? 1
: day < date.day ? -1 : 0;
}
public String toString(){
return "Year:Month:Day--" + year + "-" + month + "-" + day;
}
}
运行结果:
C:\myjava\Array>java RefSelectSort
Year:Month:Day--2012-5-4
Year:Month:Day--2014-5-4
Year:Month:Day--2014-5-9
Year:Month:Day--2014-9-4
Year:Month:Day--2018-5-4
C:\myjava\Array>