Js插入排序

插入排序

插入排序原理

  • 用未参与排序的数与已经排好序的数从后往前做比较
  • 比较中找到自己的位置然后插入到该位置


    Js插入排序_第1张图片
    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);

你可能感兴趣的:(Js插入排序)