首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。
时间复杂度O(n2)
public class xuanze {
public static void main(String[] args) {
int[] arr = {1, 7, 5, 0, 3, 2};
selectionSort(arr);
for (int a1 : arr) {
System.out.println(a1);
}
}
private static int[] selectionSort(int[] arr) {
if(arr==null){
return null;
}
for(int i=0;i<arr.length;i++){
int index=i;
for(int j=i+1;j<arr.length;j++){
//进行比较,得到较小值的位置
if(arr[index]>arr[j]){
index=j;
}
}
int temp;
temp=arr[i];
arr[i]=arr[index];
arr[index]=temp;
}
return arr;
}
}