插入排序(ts实现)
# 算法步骤
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
重复第二步,直到所有元素均排序完毕。

# Code:
/**
 @Project :插入排序
 @IDE : WebStorm
 @Author : xinyu
 @Date :2022/3/2 下午5:33
 @Description :插入排序
 **/
import baseFunction = require("../utils/baseUtils");
let baseFunctions = new baseFunction()
let insertionSort=(array,compareFn = baseFunctions.defaultCompare)=>{
    const {length} = array
    let temp
    for (let i = 0; i <length ; i++) {
        let j=i;
        temp =array[i];
        while (j>0&&compareFn.call(baseFunctions,array[j-1],temp)===baseFunctions.Compare.BIGGER_THAN){
            array[j]=array[j-1];
            j--
        }
        array[j]=temp;
    }
    return array;
}
console.log(insertionSort(baseFunctions.testArray));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
上次更新: 2023/09/05 17:45:42
