FE-DSHUI / DSHUI

前端王者小分队读书会
4 stars 1 forks source link

《零食:冒泡排序》——2021-02-08 #43

Open sworlife opened 3 years ago

sworlife commented 3 years ago

冒泡排序

image

/*
 * 冒泡算法
 * @params {arr} 待排序数组
 * @params {n} 比较元素的个数
 * @params {compare} 比较函数
 */
function bubbleSort(arr, n, compare) {
  let i, j
  let swapped = 1
  // swapped = 0 表示已经没有可交换的顺序,说明排序已经完成
  for (i = 0; swapped; i++) {
    swapped = 0
    for (j = 0; j < n - 1 - i; j++) {
      if (compare(arr[j + 1], arr[j])) {
        const a = arr[j]
        arr[j] = arr[j + 1]
        arr[j + 1] = a
        swapped = 1
      }
    }
  }
}