冒泡排序
1. 算法步骤
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
其核心思想就是两两比较,把大的数字一步一步挪到后面
2. 动图演示

3.代码演示
js
let array = [5,9,3,5,6,4,96,3,4,6,41,3,45,3,2,3,5,63,4,3,2]
// 冒泡排序函数
function bubbleSort (arr) {
// 开始遍历数组,从索引0到最后
for (let i = 0; i < arr.length - 1; i++) {
for (let j = 0; j < arr.length - i; j++) {
// 前一个比后一个大?交换!
if (arr[j] > arr[j + 1]) {
let temp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = temp
}
}
// 每次遍历,看看变化
console.log(arr);
}
}
bubbleSort(array)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20