public void selectSort(int[] nums){
// 判断是否为正经数组
if(nums == null || nums.length == 0) return;
// 进行排序
for(int i = 0; i < nums.length; i++){
int min = i; //使用min记录i及i之后的最小值下标
for(int j = i + 1; j < nums.length; j++){// 遍历i之后的数组
if(nums[j] < nums[min]) min = j; // 选择当前最小值下标
}
// 更换当前位置与最小值位置的值
int temp = nums[i];
nums[i] = nums[min];
nums[min] = temp;
}
}
时间复杂度:O(n^2)
空间复杂度:O(1)
力扣 912题测试结果