冒泡排序
基本思路
利用双层for循环,外循环遍历数组的每一项,内循环拿当前的值与下一项进行比较,如果当前项的值比下一项的值大,则交换它们的位置。
解法
let array = [5, 3, 22, 11, 33, 10, 55]
function bubbleSort(array) {
const { length } = array
for (let i = 0; i < length; i++) {
for (let j = 0; j < length - 1 - i; j++) { // 内层循环减去外层已跑过的轮数
if (array[j] > array[j+1]) {
[array[j], array[j+1]] = [array[j+1], array[j]] // 交换值es6(es2015方式)
}
}
}
return array
}
console.log(bubbleSort(array));
复杂度
冒泡排序的复杂度为O(n^2) 性能比较差不推荐使用
优点
简单易理解