// 从头开始,保持一个有序排列,如果找到了比后面大的,比前面小的,就停止这一层循环
function insertSort(nums){
let len = nums.length;
if (len<2){
return nums;
}
for (let i = 0; i < len; i++){
for (let j = i+1; j>-1&& nums[j]>nums[j+1]; j--){
// ES6新增的语法
// [nums[j+1], nums[j]] = [nums[j], nums[j+1]];
let temp = nums[j+1];
nums[j+1] = nums[j];
nums[j] = temp;
}
}
return nums;
}
console.log(insertSort([1, 5, 3, 4, 6, 12, 3]))