插入排序
插入排序原理
- 用未参与排序的数与已经排好序的数从后往前做比较
-
比较中找到自己的位置然后插入到该位置
image
插入排序步骤
- 确定外层循环 index为已排好序的个数
- 内层循环从已排好序的最后位置开始往前比较
- 整个已排序部分搜索一遍保存最后的索引
- 插入 splice函数
代码实现
var a = [10,38,45,50,48,13,27,20];
var index = 0;
for(var i = 1; i < a.length; i ++){
index = i;
for(var j = i - 1; j >= 0; j--){
if(a[i] < a[j] ){
index = j;
}
}
a.splice(index,0,a[i]); //插入a[i]
a.splice(i+1,1); // 由于数组变了,所以原先a[i]的值到a[i+1]去了,删掉它
}
console.log(a);
网友评论