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>