基本思路

  1. 找到要排序的元素
  2. 找到一个合适插入的位置
    1. 打到的元素不停向其前端的元素遍历判断,找到一个比它小的元素为止

时间复杂度

  1. var arr = [3, 7, 2, 9, 4, 8, 1, 5, 6];
  2. let insertSort = (arr) => {
  3. for(let i = 1; i < arr.length; i++) {
  4. let curVal = arr[i];
  5. let j = i - 1;
  6. while(j >= 0 && curVal < arr[j]) {
  7. arr[j+1] = arr[j];
  8. j--;
  9. }
  10. arr[j+1] = curVal;
  11. }
  12. return arr;
  13. }
  14. console.log(insertSort(arr));