插入排序

百般思念 提交于 2020-03-22 18:29:24

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

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

  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;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!