java实现冒泡和选择排序

来源:互联网 发布:旅行消费数据报告 编辑:程序博客网 时间:2024/05/16 11:38

冒泡排序:

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>

0 0
原创粉丝点击