冒泡排序

174 阅读1分钟

JS实现冒泡排序

代码

function bubbleSort(arr){
  let i = arr.length
  while(i>0){   
    let pos = 0   //记录每一轮冒泡排序后数组长度
    for(let j=0;j<i;j++){
      if(arr[j] > arr[j+1]){
        let temp = arr[j]  //记录较大值赋给a[j+1]
        arr[j] = arr[j+1]
        arr[j+1] = temp
        pos = j
      }
    }
    i = pos
  }
  return arr
}

时间复杂度分析

最外层执行n-1次,内层循环最多执行n次,最少1次    (n-1)*(n+1)/2  = O(n^2)