原理:每次从数组中选出最小的放到前面,从而排序整个数组
//简单选择排序
public static int[] SelectionSort(int[]a){
//后面j=i+1且留到最后的数一定是最大值
for(int i=0;i<a.length-1;i++){
int tmp = 0;
int index = i;
for(int j=i+1;j<a.length;j++){
//每次对index的值进行改变从而保证选出的是后面数据的最小值
if(a[j]<a[index]){
index = j;
}
}
tmp = a[index];
a[index] = a[i];
a[i] = tmp;
}
return a;
}
时间复杂度 O(N2)