InsertSort

  • 直接插入排序

<script type="text/javascript">
var obj={
    data:[0,3,4,9,7,4,8,4,5],
    length:8
    }
//直接插入排序
//思想:把排序的数组分成两部分,前面的有序的,后面的是无序的把后面
//元素插入到前面的数组中
//时间复杂度:最好 O(n) 最坏O(n2) 平均O(n2)
//空间复杂度:O(1)
//稳定性:稳定
function InsertSort(obj)
{
  var temp;
  for(var i=1;i<obj.length;i++)
  {
    if(obj.data[i]>obj.data[i+1])
    {
      temp=obj.data[i+1];
      while(obj.data[i]>temp&&i>0)
      {
      obj.data[i+1]=obj.data[i];
      i--;
      }
    obj.data[i+1]=temp;
    }
  }
}
InsertSort(obj);
console.log(obj.data);
</script>

原文地址:https://www.cnblogs.com/yiluhuakai/p/7678460.html