// 插入排序,从小到大排序
// 42
// 4, 42
// 4, 12, 42
// 4, 12, 36, 42
// 4, 12, 36, 42, 53
// 4, 12, 27, 36, 42, 53
// 4, 12, 27, 36, 42, 53, 98
// 定义一个前一个指针, 和当前指针
var arr = [42, 4, 12, 36, 53, 27, 98],
preindex, current;
// 遍历数组,因第一个默认为有序,所以下标从1开始
for (let i = 1; i < arr.length; i++) {
preindex = i - 1;
current = arr[i];
// 若是当前新元素小于他前一个元素,,将新元素插入到之前元素位置,若是新元素大于前一个元素,
// 将该元素移到下一位置,接着比较,直到找到比它小的元素,插入
while (current < arr[preindex] && preindex >= 0) {
arr[preindex + 1] = arr[preindex];
preindex--;
}
arr[preindex + 1] = current;
}
console.log(arr);
JS插入排序,从小到大
最新推荐文章于 2022-03-08 17:37:37 发布