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)