/*** 直接插入排序* @param arr*/directInsetSort(arr: number[]) {for (let i = 1; i < arr.length; i++) {let temp = arr[i]let j = 0for (j = i - 1; j >= 0 && arr[j] > temp; j--) {arr[j + 1] = arr[j]}arr[j + 1] = temp}return arr}swap(arr: number[], i: number, j: number) {let temp = arr[i]arr[i] = arr[j]arr[j] = temp}
思路:

代码很短,但逻辑不太简单, 在用后边数组元素与前面数组进行比较的时候, 如果不是相应位置,那就把前面数组当前元素向后移动一个(也就是把当前值赋值给后面的元素)。
另外这个题的排序部分还可以使用二分查找,这里不赘述了,二分查找专题再来搞。
