/*
insert: 实现插入排序
@params
ary [array] 需要排序的数组
@return
[array] 排序后的新数组
*/
function insert(ary) {
// 1、准备一个新数组,先保存一个数据
let temp = [];
temp.push(ary[0]);
// 2、从第二项开始依次比较
for (let i = 1; i < ary.length; i++) {
// A 是新的数据
let A = ary[i];
// 和 Temp 里的数据依次比较(从后向前比)
for (let j = temp.length - 1; j >= 0; j--) {
// 每一次要比较的手里的牌
let B = temp[j];
// 如果当前新数据 A 比要比较的数据 B 大了,把 A 放到 B 的后面
if (A > B) {
temp.splice(j + 1, 0, A);
break;
}
// 已经比到第一项
if (j === 0) {
temp.unshift(A);
}
}
}
return temp;
}
let ary = [12, 8, 24, 16, 1]
ary = insert(ary);
console.log(ary)