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();
}
}
}