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实现插入排序和希尔排序