# 3.插入排序(insertSort)

# 描述

数据序列1: 13-17-20-42-28 利用插入排序,13-17-20-28-42. Number of swap:1; 数据序列2: 13-17-20-42-14 利用插入排序,13-14-17-20-42. Number of swap:3;

如果数据序列基本有序,使用插入排序会更加高效。

  • 在要排序的一组数中,假定前n-1个数已经排好序,现在将第n个数插到前面的有序数列中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

在这里插入图片描述

# 实现

var insetSort = function(nums) {
    var temp = 0;
    for (let i = 0; i < nums.length - 1; i++) {
        // 只排序当下这个分区
        for (let j = i + 1; j >= 0; j--) {
            if (nums[j] < nums[j - 1]) {
                temp = nums[j - 1];
                nums[j - 1] = nums[j];
                nums[j] = temp;
            }
        }
    }
    return nums;
};
Last Updated: 2/4/2023, 10:29:49 AM