java实现冒泡和选择排序

冒泡排序:

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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值