/***
* 冒泡排序算法描述
* 1、比较相邻的元素,如果前一个比后一个大,交换之。
* 2、第一趟排序第1个和第2个一对,比较与交换,随后第2个和第3个一对比较交换,
* 这样直到倒数第2个和最后1个,将最大的数移动到最后一位。
* 3、第二趟将第二大的数移动至倒数第二位
*/
const arr = [3, 2, 4, 5, 1]
const len = arr.length
for (let i = 0; i < len - 1; i++) {
for (let j = 0; j < len - i - 1; j++) {
/**
* arr[j] > arr[j + 1] 为升序
* arr[j] < arr[j + 1] 为降序
*/
if (arr[j] > arr[j + 1]) {
let t = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = t
}
}
}
参考如下动图
77ad6f33ba0dc82446a74f109dd7c645.gif
网友评论