特性:

排序方法 时间复杂度 空间复杂度 稳定性
插入排序 O(n2) O(1) 稳定

思路:

将小的元素不断的交换到前面
image.png

实现:

  1. import { less, exch } from ./util;
  2. const arr1 = [2,3,1,123,5,24]
  3. function sort(arr) {
  4. for (let i = 0; i < arr.length; i++) {
  5. console.log(i);
  6. for (let j = i; j > 0 && less(arr[j], arr[j - 1]); j--) {
  7. console.log(i, j);
  8. exch(arr, j, j - 1);
  9. }
  10. }
  11. return arr;
  12. }
  13. console.log(sort(arr1));