直接选择排序(选择排序)
程序员文章站
2022-03-09 20:18:08
...
一、算法实现
- 基本实现
/**
* 直接选择排序(选择排序)
*/
public static int[] sortSelect(int[] arr) {
int i, j, temp, min;
for (i = 0; i < arr.length - 1; i++) {
min = i;
for (j = i + 1; j < arr.length; j++) {
if (arr[min] > arr[j]) {
min = j;
}
}
if (i != min) {
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}
return arr;
}
二、运行示例
{20, 15, 10, 12}
[【10】, 15, 20, 12] //--> 找出第一小的数与在[0]位置的数交换
10, [【12】, 20, 15] //--> 找出第二小的数与在[1]位置的数交换
10, 12, [【15】, 20] //--> 找出第三小的数与在[2]位置的数交换
三、性能分析
- 时间复杂度
平均时间复杂度为O(n^2)
- 空间复杂度
空间复杂度为O(1)
- 稳定性
是不稳定的排序算法
转载于:https://www.jianshu.com/p/9f152b992025
下一篇: Mac OS X 更新 Maven