Insertion Sort
function sortArray(nums: number[]): number[] {
if (nums.length <= 1) {
return nums
}
// 假设第一个数是已排序的有序数组
// 从第二个数开始
for (let i = 1; i < nums.length; i++) {
// 倒序遍历有序数组
for (let j = i; j > 0 && nums[j - 1] > nums[j]; j--) {
// 将有序数组最后一位开始向后移动直到找到位置插入(也可以使用类似冒泡的交换)
;[nums[j - 1], nums[j]] = [nums[j], nums[j - 1]]
}
}
return nums
}
时间复杂度:O(n²) 空间复杂度:O(1) 稳定性:稳定