选择排序

先找出最小的值并将其与a[1]中的元素进行交换,接着找出a数组中次最小的元素与a[2]进行交换,一次找出其他的


/**
	 * 选择排序
	 * 对指定数组进行排序
	 * @param a   要排序的数组
	 */
	public static int[] selectSort(int[] a ){
		if(a==null||a.length<0){
			return null;
		}
		for(int i=0 ; i<a.length-1; i++){    //             
			int key = i;   //默认将第一个元素的作为最小值                           
			for(int j = i+1; j<a.length; j++){  //         
				if(a[key]>a[j]){              //        
					key = j;     //选择出最小的值的下标
				}
			}
			if(i!=key){
				swap(a,key,i);   //交换值
			}
		}
		return a;
	}
	/**
	 * 交换数组中的两个数
	 * @param a  要交换的数组
	 * @param x  要交换的索引
	 * @param y  要交换的索引
	 */
	public static void swap(int[] a ,int x ,int y){
		int temp = a[x];
		a[x] = a[y];
		a[y] = temp;
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值