#冒泡排序

Bubble Sort

🔗 LeetCode

#步骤

  1. 比较所有相邻的数,如果第一个数比第二个数大,就交换它们两个,直到最大的数到最后
  2. 重复每一个数直到排序完成

#代码实现

function sortArray(nums: number[]): number[] {
  const len = nums.length

  if (len <= 1) {
    return nums
  }

  for (let i = 0; i < len - 1; i++) {
    for (let j = 0; j < len - 1 - i; j++) {
      if (nums[j] > nums[j + 1]) {
        ;[nums[j], nums[j + 1]] = [nums[j + 1], nums[j]]
      }
    }
  }

  return nums
}

#性能

时间复杂度:O(n²) 空间复杂度:O(1) 稳定性:稳定

#复习

function sortArray(nums: number[]): number[] {
  if (nums.length <= 1) {
    return nums
  }
  // 重复每一个数
  for (let i = 0; i < nums.length - 1; i++) {
    // 比较所有相邻的数
    for (let j = 0; j < nums.length - 1 && nums[j] > nums[j + 1]; j++) {
      // 如果第一个数比第二个数大,就交换它们两个,直到最大的数到最后
      ;[nums[j], nums[j + 1]] = [nums[j + 1], nums[j]]
    }
  }

  return nums
}