插入排序

插入排序:原理就是将未排序的数据,对已经排序的数据序列从后前扫描,找到对应的位置并插入!

插入排序会涉及到两块区域:

  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

posted @ 2020-03-22 17:48  沐浴点阳光  阅读(147)  评论(0编辑  收藏  举报