冒泡排序
/*
BuubleSort:冒泡排序;前后两个数比较大小,设置小的排前面
example:[2,7,1,89,35,4,9,11]
平均时间复杂度:O(n^2);
最好的时间复杂度: O(n);--一次遍历即可
最坏的时间复杂度:O(n^2);
*/
function BubbleSort(arr) {
// iS Array
if (!(arr instanceof Array)) return;
let length = arr.length - 1;
// 当数组存在元素并且多于一个元素时执行
if (length) {
let temp;
for (let i = 0; i < length; i++) {
// 每次排序,最大的会在后面,便不需要再继续排序,即j< length -1 -i
for (let j = 0; j < length - i; j++) {
// 当后面的数值大于前面的数值时,交换位置
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
console.log(arr);
return arr;
}
BubbleSort([2, 7, 1, 89, 35, 4, 9, 11]);