/**
* 原理:每个元素与下一个元素对比,对比n次,每次取出最小的,放在最前面
* 时间复杂度:n + (n-1) + (n-2) + ... + 1 = O(n * n)
* @param {原数组} arr
* @returns 排序后的数组
*/
function bubble (arr) {
if (!Array.isArray(arr)) {
return []
}
for (let i = arr.length - 1; i > 0; i--) {
for (let j = 0; j < i; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = temp
}
}
}
return arr
}
原文:https://www.cnblogs.com/chinesedon/p/15225987.html