前端常用算法笔记-插入排序

Posted 天小天个人网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端常用算法笔记-插入排序相关的知识,希望对你有一定的参考价值。

前端常用算法笔记-插入排序(insertSort)

首先固定函数名:insertSort

插入排序的原理:类似于打扑克摸牌排序,将新摸的牌与手里现有的牌比较,然后放到合适位置就可以。

关键函数:

splice()

数组中添加或删除元素

unshift()

数组最前处添加元素


整个函数有两个for循环组成:

  1. 第一层循环取出原数组未排序的数组。

  2. 第二层循环与新数组的每个进行比较。

在执行循环前需要定义空数组,并且将原数组的第一个元素添加进去。


具体代码:

/*
  插入排序
  由小到大
*/

  function insertSort(arr){
    //设置保存结果的数组
    let res=[];
    //将第一个存入结果数据
    res.push(arr[0])
    //循环比较其他数
    for(let i=1;i<arr.length;i++){
      //A为数组中当前取出的数
      let A=arr[i];
      //循环比较结果中的每个数
      for(let j=res.length-1;j>=0;j--){
        //B为结果中当前比较的数
        let B=res[j];
        //如果取出的数比结果中的大,插入其后面
        if(A>B){
          res.splice(j+1,0,A);
          break;
        }
        //如果比较到第一个,将其插入数组最前
        if(j===0){
          res.unshift(A);
        }
      }
    }
    //输出结果
    console.log(res);
    return res;
  }
  
  let arr = [13,121,325,757,7,89,93,2324,21,5,232,57,9];
  insertSort(arr);


以上是关于前端常用算法笔记-插入排序的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记之十一Java中常用的8大排序算法详解总结

Java常用的八种排序算法与代码实现

算法笔记 排序算法完整介绍及C++代码实现 HERODING的算法之路

常用排序算法比较

Java常用的八种排序算法与代码实现

一遍记住Java常用的八种排序算法与代码实现