/**
* 选择排序
*/
public class SelectSort{
/**
* 每次找到最小值和当前值比较,交换
*/
public void selectSort(int[] arr){
if(arr==null || arr.length==0){
return ;
}
for(int i = 0; i < arr.length; i++){
int cur = arr[i];
int curIndex = i;
for(int j = i+1; j < arr.length; j++){
//得到最小值和最小值的下标
if(cur > arr[j]){
cur = arr[j];
curIndex = j;
}
}
//将最小值和当前值交换
arr[curIndex] = arr[i];
arr[i] = cur;
}
}
}
平均时间复杂度:O(
n2
n
2
)
最好时间复杂度:O(
n2
n
2
)
最坏时间复杂度:O(
n2
n
2
)
空间复杂度:O(1)