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