Array.prototype.insert = function insert() {
// 先取出一张牌放到手里
let _this = this,
hanlde = [];
hanlde.push(_this[0]);
// 开始抓牌
for (let i = 1; i < _this.length; i++) {
// A每一次新抓的牌
let A = _this[i];
// 和手里的牌进行比较(倒着比较)
for (let j = hanlde.length - 1; j >= 0; j--) {
// 要比较的手里这张牌
let B = hanlde[j];
// 新抓的牌A比B要大,则放在B的后面
if (A > B) {
hanlde.splice(j + 1, 0, A);
break; //=>没必要和手里的牌继续比较了
}
// 都比到最开始,A都没有比任何的牌大,则A是最小的,插入到开始
if (j === 0) {
hanlde.unshift(A);
}
}
}
return hanlde;
};
//时间复杂度是O(n^2)