js直接插入排序

直接排序的原理:

把先序的第一个记录看成一个有序的子序序列,然后从第二个开始逐个进行插入,直至整个序列有序。每次都有序的子序列里面找到合适的位置插入当前项。

性能如下表:

代码如下:

  //原数组
        let arr = [1, 3, 5, 7, 34, 2, 467, 2, 56, 26, 43, 402, 782, 34];
        for (let i = 1; i < arr.length; i++) {
            //当前项
            let currentItem = arr[i];
            //i-1以前的都是有序的子序列
            let j = i - 1;
            //依次把比当前项大的往右侧移动,直到找到符合条件的位置
            while (currentItem < arr[j]) {
                arr[j + 1] = arr[j];
                j--;
            }
            //赋值
            arr[j + 1] = currentItem;
        }
        console.log(arr);
posted @ 2021-01-06 17:04  黑黑哈哈  阅读(188)  评论(0编辑  收藏  举报