0001: 算法——冒泡排序

220 阅读1分钟

算法

i轮,从后往前依次比较相邻的两个值,如果a[j-1]>a[j],则交换两者位置,直到第i个 共n-1

时间复杂度

(n1)+(n1)+...+1=O(n2)(n-1)+(n-1)+...+1= O(n^2)

js

const input = [4,2,15,2,5,6,21,67,2,3]
const sort = (arr) => {
    for (let i = 0; i < arr.length; i++) {
        for (let j = arr.length-1; j>i; j--) {
            const a = arr[j]
            const b = arr[j-1]
            if (a<b) {
                arr[j-1] = a
                arr[j] = b
            }
        }
    }
    return arr;
}
console.log(sort(input))