冒泡排序图解

冒泡排序的排序规则如下,第一位与第二位进行比较,当满足条件进行位置交换。第二次 第二位于第三位进行比较,满足条件进行位置交换,直到最后一位
代码如下
const arr = [4, 1, 5, 55, 4, 89, 10, 5, 1, 26,]/*** 比较之后是否需要进行交换* @param {Number} a 现在值* @param {Number} b 后一位值* return boolean*/function compare(a, b) {if (b <= a) return true;else return false;}/*** 将数组中a 与 b 里的值进行交换* @param {Array} arr 数组* @param {number} a 现在值* @param {number} b 后一位的值*/function exchange(arr, a, b) {let temp = arr[a];arr[a] = arr[b];arr[b] = temp;}/*** 冒泡排序* @param {Array} arr 需要排序的数组*/function sort(arr) {for (let j = 0; j < arr.length; j++) {// 当前排序方式一大小排序,第一次循环中最大值会被换到最后,第一次就找到最大值,第二循环会找到第二大的值,依次往后for (let i = 0; i < arr.length - 1 - j ; i++) {if (compare(arr[i], arr[i + 1])) {exchange(arr, i, i + 1)}}}}sort(arr)console.log(arr)
