冒泡排序,它的名字由来于一副图——鱼吐泡泡,泡泡越往上越大。
思路:第一次循环,开始比较当前元素与下一个元素的大小,如果比下一个元素小或者相等,则不需要交换两个元素的值;若比下一个元素大的话,则交换两个元素的值。然后,遍历整个数组,第一次遍历完之后,相同操作遍历第二遍。
图例:

const arr = [1, 20, 10, 30, 22, 11, 55, 24, 31, 88, 12, 100, 50];
function bubbleSort(arr){
for(let i = 0; i < arr.length - 1; i++){
for(let j = 0; j < arr.length - i - 1; j++){
if(arr[j] > arr[j + 1]){ //交换位置
let temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
bubbleSort(arr);
console.log(arr); //[1, 10, 11, 12, 20, 22, 24, 30, 31, 50, 55, 88, 100]
本文介绍了冒泡排序算法的工作原理,通过一个生动的鱼吐泡泡的比喻来阐述其核心思想。冒泡排序通过不断比较相邻元素并交换位置,使得每次遍历后最大(或最小)的元素逐渐冒到数组的一端。示例代码展示了如何用JavaScript实现冒泡排序,并给出了具体的排序过程。
258

被折叠的 条评论
为什么被折叠?



