冒泡排序

177 阅读1分钟

冒泡排序

  • 比较相邻的两个数,把大的值放在后面;
  • 一轮下来会找到1个最大值,排在最后面,每执行一轮,就少对比一个值
  • 执行len - 1 轮

假如有这样一个数组:

const array = [10, 7, 2, 100, 5, 5, 230, 400, 1, -2];

方法实现:

const bubbleSort = (arr) => {
  for(let i = 0, len = arr.length; i < len - 1; i++) {
    for(let j = 0; j < len - i - 1; j++) {
      if(arr[j] > arr[j + 1]) {
        [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
      }
    }
  }
  return arr;
}