插入排序
插入排序:原理就是将未排序的数据,对已经排序的数据序列从后前扫描,找到对应的位置并插入!
插入排序会涉及到两块区域:
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://blog.csdn.net/bjweimengshu/article/details/99372874