感觉像是前面反向版本的冒泡排序

来源:11-4 JavaScript 实现:插入排序

见信

2023-10-08

/**
 * @description: 插入排序
 */
function insertionSort(arr: number[]) {
  for (let i = 1; i < arr.length; i++) {
    for (let j = i; j > 0; j--) {
      if (arr[j] < arr[j - 1]) {
        const temp = arr[j]
        arr[j] = arr[j - 1]
        arr[j - 1] = temp
      } else {
        break
      }
    }
  }
}

const arr = [2, 4, 5, 3, 1]
insertionSort(arr)
console.log(arr)
/**
 * @description: 冒泡排序
 */
export const bubbleSort = (arr: number[]) => {
  for (let i = 0; i < arr.length - 1; i++) {
    for (let j = 0; j < arr.length - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        const temp = arr[j]
        arr[j] = arr[j + 1]
        arr[j + 1] = temp
      }
    }
  }
}

const arr = [5, 4, 3, 2, 1]
bubbleSort(arr)
console.log(arr)

写回答

1回答

lewis

2024-12-26

还是有显著区别的,冒泡是比较相邻项,插入排序是插入到合适位置

0
0

JavaScript版数据结构与算法 轻松解决前端算法面试

夯实算法基础,填补技术短板,助力面试考题最后一公里

2481 学习 · 683 问题

查看课程