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;
}
Last Updated:
Contributors: hqchqc