算法-选择排序

package com.arithmetic.sort;

public class SelectSort {
	public static void main(String[] args) {
		/**Select Sort
		 * 思想:先选出最小的放在最左边,然后再从剩下的找最小的放在左边位置+1,依次类推
		 * 比较:
		 * 选择排序与冒泡排序的区别在:冒泡排序每次比较后,如果发现顺序不对立即进行交换,
		 * 而选择排序不立即进行交换,而是找出最小的元素后再进行交换。
		 */
		int [] arrays = new int[]{3,15,6,99,13,12,12,56,100,67};
		for(int x = 0; x<arrays.length-1;x++){//也会比较N-1次
			for(int y=x+1;y < arrays.length; y++){//每一次都和最小的比较,并且进行交换
				if(arrays[y] < arrays[x]){
					int tmp = arrays[x];
					arrays[x] = arrays[y];
					arrays[y] = tmp;
				}
			}
			System.out.println("第"+x+"次比较");
			for(int i = 0; i<arrays.length;i++){
				System.out.print(arrays[i]+" ");
			}
			System.out.println();
		}
	}
}

 

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