算法—插入排序—js(小数据或基本有序数据)
插入排序原理:(适合小规模数据)
将数组分为“已排序”和“未排序”两部分,逐个将未排序元素插入到已排序部分的正确位置。
特点:
时间复杂度:平均 O(n²),最优(已有序)O(n)
空间复杂度:O(1)
稳定排序
// 插入排序
function insertionSort(arr) {for (let i = 1; i < arr.length; i++) {let key = arr[i], j = i - 1;while (j >= 0 && arr[j] > key) {arr[j + 1] = arr[j];j--;}arr[j + 1] = key;}return arr;
}