javascript [插入排序] #javascript

Posted

tags:

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

// 数组中的每一项理解为扑克牌
function insert(arr) {
   //=> 先抓一张牌(一般都抓第一张)
   let handAry = [];  // ==> 存储的是手里抓取的牌
   handAry.push(arr[0]);

   //=> 依次循环抓取后面的牌
   for (let i = 1; i < arr.length; i++) {
           let item = arr[i];    //=> 本次新抓的这张牌
           //=>拿新抓的牌和手里先有的牌比较
           for (let j = handAry.length - 1; j >= 0; j--) {
                   // handAry[j]:当前比较的手里的这张牌
                   // 什么时候插到前面去
                   //=> 新抓的牌比当前比较的这张牌大,我们把新抓的牌放在它的后面
                   if (item > handAry[j]) {
                       handAry.splice(j + 1, 0, item);
                       break;  // 已经放好,不用再跟前面的牌比,结束当前循环
                   }
                   if (j === 0) {
                       // => 新抓的牌是最小的,把新抓的牌放在最开始的位置
                       handAry.unshift(item);

                   }

           }

   }
   return handAry;

}


var ary = [12, 15, 14, 13, 16, 11];
console.log(insert(ary));

以上是关于javascript [插入排序] #javascript的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript实现插入排序和希尔排序

JavaScript算法(冒泡排序选择排序与插入排序)

javascript实现插入排序(直接插入排序和希尔排序)

JavaScript算法---插入排序

JavaScript实现插入排序和希尔排序

JavaScript实现插入排序和希尔排序