简单选择排序算法从第一个元素开始,每次选择一个最小的元素与其交换,假设数组的长度为n,那么一共进行n-1交换,第i次从下标i-1到n-1中找到最小的数组元素与第i-1个元素交换.简单选择排序比较操作的次数与初始状态无关,时间复杂度为O(n2).
附上简单选择排序算法的java源码:
public static void selectSort(int[] array){
for(int i=0;i<array.length-1;i++){
int min=array[i];
int position=i;
int j=i+1;
for(;j<array.length;j++){
if(array[j]<min){
min=array[j];
position=j;
}
}
if(position!=i){
int temp=array[i];
array[i]=array[position];
array[position]=temp;
}
}
}