排序算法------选择排序
参考文章:[十大经典排序算法(动图演示)]
工作原理:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。
算法复杂度:
平均时间复杂度 | 最坏时间复杂度 | 最好时间复杂度 | 空间复杂度 | |
---|---|---|---|---|
选择排序 | O(n²) | O(n²) | O(n²) | O(1) |
算法过程(动图):
代码演示
public static int[] selectionSort(int[] nums){
int tem = 0;
for (int i = 0; i < nums.length-1; i ++){
for (int j = i+1; j < nums.length; j++){
if (nums[j] < nums[i]){
tem = nums[j];
nums[j] = nums[i];
nums[i] = tem;
}
}
}
return nums;
}
显示结果:
选择排序
排序前 [1 68 2 56 11 53 90 23 12 1 3 2 ]
排序后 [1 1 2 2 3 11 12 23 53 56 68 90 ]