JavaScript冒泡排序

  1. 比较相邻的元素,前者比后者大的话,两者交换位置。
  2. 对每一对相邻元素做相同操作,从开始第一对到最后一对,这样子最后的元素就是最大元素
  3. 针对n-1个元素重复以上步骤,每次循环排除最后一个。
  4. 重复步骤1~3,直到排序完成。
冒泡排序

「时间复杂度O(n*n)」

function BubbleSort(array) {
    for (let i = 0; i < array.length-1; i++) {//最外层n-1次(将n-1个数排到末尾)
        for (let j = 0; j < array.length-i-1;j++){//减去已经排到末尾的i,-1是因为j+1在末尾
            if(array[j]>array[j+1]){
                [array[j], array[j + 1]] = [array[j + 1], array[j]];
              
            }
        }
    }
    
    return array;
}

  let a=[2, 9, 6, 7, 4, 3, 1, 7]
  console.log(BubbleSort(a))
阅读剩余
THE END