fezaoduke / fe-practice-hard

晚练课
69 stars 6 forks source link

第 88 期(算法-排序):经典排序算法之插入排序 #91

Open wingmeng opened 5 years ago

wingmeng commented 5 years ago

插入排序

插入排序(Insertion sort)是一种简单直观且稳定的排序算法。

insertionSort

function insertionSort(arr) {
  // 注意这里是从 arr[1] 开始的
  for (var i = 1; i < arr.length; i++) {
    var preIndex = i - 1;
    var current = arr[i];

    while (preIndex >= 0 && arr[preIndex] > current) {
      arr[preIndex + 1] = arr[preIndex];
      preIndex--;
    }

    arr[preIndex + 1] = current;
  }

  return arr;
}