先上代码
function bubble(arr){
for(let i = arr.length-1; i > 0; i--){ // 每次比较交换的总次数
for(let k = 0; k < i; k++){
if(arr[k] > arr[k+1]){
let mid = arr[k+1];
arr[k+1] = arr[k];
arr[k] = mid
}
}
}
return arr;
}
复制代码
冒泡排序简单理解就是比较相邻两个元素的大小 之后进行交换位置
第一次需要进行arr.length-1次比较 这样会使极值冒泡到尾部。
第二次因为已经挑选出来一个极值了 所以就剩下arr.length-1个元素 因此就进行arr.length-1-1次比较
依次递减 直到只进行一次比较