工作原理
- 选择排序,最稳定的排序算法之一,无论如何都是O(n2)
- 首先找到最小(或最大)的元素,把他放在起始位置,然后从剩余未排序的元素中寻找最小(大)的元素,然后将它放到已排序序列的尾端,循环操作
实现方法
- 外层循环控制未排序元素起始位置
- 内层循环进行元素比较,如果符合要求,则交换位置
实现代码
public class Selection_Sort {
public static void Selection_Sort(int[] array){
if (array==null||array.length<=0){
return;
}
int length = array.length;
for (int i = 0; i < length; i++) {
int minIndex=i;
for (int j = i+1;j<length;j++){
if (array[j]<array[minIndex]){
int temp = array[j];
array[j]=array[minIndex];
array[minIndex]=temp;
}
}
}
}
public static void main(String[] args) {
int[] array = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48};
Selection_Sort(array);
System.out.println(Arrays.toString(array));
}
}