插入排序

【简单插入】

核心思想:第i趟排序是将序列的第i+1个元素插入到一个已经按值有序排列的子序列的合适位置,得到一个长度为i+1,但仍然保持按值有序排列的子序列。

var arr = [38,49,65,97,76,13,27,49];

var insertSort = function(arr){

  var i, j,temp;

  var n = arr.length;

  for(i=1;i<n;i++){

    temp = arr[i];

    j = i-1;

      while(j>=0 && temp<arr[j]){

        arr[j+1] = arr[j--];

      }

    arr[j+1] = temp;

  }

}

insertSort(arr);
console.log(arr);

算法分析:简单插入排序的平均时间复杂度为O(n2),是稳定排序。

你可能感兴趣的:(插入排序)