1.原理:从开始位置遍历,找出最小值和最小值的位置,然后和第一个数交换。然后再从第二个数向后遍历找出次小值和位置,和第二个数交换位置,以次比例直至完成。
2.代码
/**
* 选择排序
*/
public class SelectSort {
public static void main(String[] args) {
int[] array = new int[]{6546,54654,4654654,4544,2132,224,2432,44,4525,465465,46,6446,44646};
selectSort(array);
for(int a : array){
System.out.println(a);
}
}
private static void selectSort(int[] arr){
for(int i=0; i<arr.length-1; i++){
int min = arr[i];
int minIndex = i;
for(int j = i+1; j<arr.length;j++){
if(arr[j] < min){
min = arr[j];
minIndex = j;
}
}
if(minIndex != i){
arr[minIndex] = arr[i];
arr[i] = min;
}
}
}
}