选择排序和交换排序实际上比较的次数没变
但选择排序交换位置的次数减少了
/*
* 每次循环,从要排的数据中选择该组中最小的,那这个最小的值和前面的数据交换位置
* 选择排序比冒泡排序的效率高
* 选择排序的每次交换位置是有意义的
*
* */
public class SelectSort {
public static void main(String[] args) {
int[] arr = {2,6,4,3,8,5,1};
int temp = 0;
int min;
for(int i = 0;i<arr.length-1;i++){
//假设每次排序的第一个元素作为最小值的下标
min=i;
for(int j=i+1;j<arr.length;j++){
if(arr[j]<arr[min]) {
//找到每次排序的最小值的下标
min = j;
}
}
if(i !=min){
temp = arr[i];
arr[i]=arr[min];
arr[min]=temp;
}
}
for(int i=0;i<arr.length;i++)
System.out.println(arr[i]);
}
}