插入排序的思路:
1. 有一组数据,先从中拿出一个,再拿出第二个时和第一个做比较排序,拿出第三个时和前两个作比较
2. 当拿出第三个比较时,因为前两个已经有序(此处以递增为例),当第三个数大于等于前两个中的最大数时就不需要比较了,这个数直接放在第三位置
3. 如果第三个数小于前两个数中最大,则再和前一个数比较
4. 以后的项以此类推
var a=[555,68,88,34,10,23,44,54,6,122,58,50,400,324,8,1];
function insertSort(a) {
for(var i=1,length=a.length;i<length;i++){
var temp=a[i];
for(var j=i;j>0&&a[j-1]>temp;j--){
a[j]=a[j-1]
}
a[j]=temp;
}
}
insertSort(a);
console.log(a);
结果:[ 1, 6, 8, 10, 23, 34, 44, 50, 54, 58, 68, 88, 122, 324, 400, 555 ]