插入排序

【简单插入】

核心思想:第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),是稳定排序。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。