顾名思义,他是不断的将每个元素向前比较插入到合适的位置的一个算法
    算法流程:
    1、遍历一次序列
    2、在遍历到的元素不断地向前比较交换直到合适的位置

    代码
    **

    1. function InsertSort(nums){
    2. for (let i = 1; i < nums.length; i++) {
    3. let k = i
    4. while(k > 0 && nums[k - 1] > nums[k]){
    5. swap(nums, k - 1, k-- )
    6. }
    7. }
    8. return nums
    9. }

    时间复杂度(O(n) - O(n^2)) 平均O(n^2)
    空间复杂度(O(1))
    **
    最好情况:已经是排序的序列了
    最坏情况:逆序序列