- 直接选择排序的第n趟比较至多交换一次,永远总是拿n-1位的数据和本趟比较中最小的一位进行交换;
- 时间复杂度O(n^2);
- 空间复杂度O(1);
- 不稳定;
package com.answer.sort;
public class SelectSort {
public static void main(String[] args) {
int[] num={21,30,49,16,9};
sort(num);
System.out.println(java.util.Arrays.toString(num));
}
public static void sort(int[] num){
int tmp=0;
for(int i=0;i<num.length-1;i++){
tmp=i;
for(int j=i+1;j<num.length;j++){
if(num[tmp]-num[j]>0){
tmp=j;
}
}
if(tmp!=i){
swap(num,tmp,i);
}
}
}
private static void swap(int[] num, int tmp, int i) {
int temp=num[tmp];
num[tmp]=num[i];
num[i]=temp;
}
}