三大经典排序算法之插入排序法

3 篇文章 0 订阅

插入排序法

基本思想:
创建一个空数组B,第1次先放置数组A的第一个数放入B,第2次再从A中拿出第二个数,放入B之前先从后向前依次与B中的元素比较一下大小,大的数插在后面,以此类推。

代码如下:

function insert(arr) {
  let result = [];
  //默认先放入第一项数
  result.push(arr[0]);
  //从第二项数开始比较
  for(i = 1;i < arr.length;i++) {
    let X = arr[i];
    //倒序遍历,从后往前比较
    for(j = result.length; j >=0; j--) {
      let Y = result[j];
      if(X > result[j]) {
        result.splice(j+1,0,X);
        break;
      }
      //比到第一项时直接放在数组头部即可
      if(j === 0) {
        result.unshift(X)
      }
    }
  }
  return result;
}
let ary = [10,3,30,28,9];
ary = insert(ary);
console.log(ary);

运行结果如图:
在这里插入图片描述

【 以上是本人学习探索中记下的笔记,仅供分享学习。如有雷同,无意冒犯,请务必及时告知,立即更正!】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值