JS-冒泡排序

冒泡排序

冒泡排序的原理如下,从第一个元素开始,把当前元素和下一个索引元素进行比较。如果当前元素大,那么就交换位置,重复操作直到比较到最后一个元素,那么此时最后一个元素就是该数组中最大的数。下一轮重复以上操作,但是此时最后一个元素已经是最大数了,所以不需要再比较最后一个元素,只需要比较到 length - 2 的位置。

以下是实现该算法的代码

// 冒泡排序
export default (arr) => {
  for (var i = arr.length - 1, tem; i > 0; i--) {
    for (var j = 0; j < i; j++) {
      tem = arr[j]
      if (tem > arr[j + 1]) {
        arr[j] = arr[j + 1]
        arr[j + 1] = tem
      }
    }
  }
  return arr
}

测试用例

import sort from '../../code/sort/lesson1-1'

test('冒泡排序', () => {
  expect(sort([1, 9, 5, 3, 4])).toEqual([1, 3, 4, 5, 9])
})

今天你学习了吗!!!
原文地址:https://www.cnblogs.com/nayek/p/11924097.html