02_选择排序
选择排序的基本思想为每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止。
选择排序的平均时间复杂度为 O(n²) ,最坏时间复杂度为 O(n²) ,空间复杂度为 O(1) ,不是稳定排序 但是执行效率比冒泡排序要好
点击查看代码
function selectSort(arr) {
if (!Array.isArray(arr) || arr.length <= 1) return arr;
const length = arr.length - 1;
for (let i = 0; i < length; i++) {
let minIndex = i;
for (let j = minIndex + 1; j <= length; j++) {
if (arr[minIndex] > arr[j]) {
minIndex = j;
}
}
[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]];
}
return arr;
}