插入排序:原理就是将未排序的数据,对已经排序的数据序列从后前扫描,找到对应的位置并插入!
插入排序会涉及到两块区域:
1)有序区域:元素已经从小到大(或者从大到小)排好序了。在刚开始排序的时候有序区域为第一个元素;
2) 无序区域:无序区域内的元素,元素任意分布,大开始排序之前除了第一个元素之外的所有元素都处于无序区域。
function insertSort(arr) {
const Len = arr.length;
for (let i = 1; i < Len; i++) {
let j = i, temp = arr[i] // 当前检索的元素
while(j > 0 && arr[j - 1] > temp) {
arr[j] = arr[j-1];
j--;
}
arr[j] = temp;
}
return arr;
}
来源:https://www.cnblogs.com/garfieldzhong/p/12547308.html