选择排序

/*
	选择排序:
		3 1 6 2 5
		
		算法:找出最小值,然后这个最小值和最前面的数据交换位置。
*/
public class SelectSort{
	
	public static void main(String[] args){
		
		int[] a = {3 ,1 ,6 ,2 ,5};
		
		//选择排序
		for(int i=0;i<a.length-1;i++){
			
			//假设第一个数据是最小值
			//记录最小值元素的下标
			int min = i;
			
			for(int j=i+1;j<a.length;j++){
				
				if(a[min]>a[j]){
					//给min重新赋值
					min = j;
				}
			}
			
			//考虑交换位置.
			if(min != i){
				int temp;
				temp = a[i];
				a[i] = a[min];
				a[min] = temp;
			}
			
		}
		
		//输出
		for(int i=0;i<a.length;i++){
			System.out.println(a[i]);
		}
	}
	
}

/*

3 1 6 2 5
第一次循环:
1 3 6 2 5

3 6 2 5
第二次循环:
2 6 3 5

6 3 5
第三次循环:
3 6 5

6 5
第四次循环:
5 6


*/


你可能感兴趣的:(选择排序)