//1、比较相邻的两个元素,如果前一个比后一个大,则交换位置。 // 2、比较完第一轮的时候,最后一个元素是最大的元素。 // 3、这时候最后一个元素是最大的,所以最后一个元素就不需要参与比较大小。 //时间复杂度:最好的情况原本就是有序O(n) 最坏的情况 O(n的平方) 平均O(n的平方) //空间复杂度:O(1) //该排序算法稳定 var arr = [49, 38, 65, 97, 76, 13, 27, 48, 55, 4]; function BubbleSort(arr) { for(var i=arr.length;i>0;i--){ for(var j=0;j<i-1;j++){ if(arr[j]>arr[j+1]){ temp = arr[j] arr[j] = arr[j+1] arr[j+1] = temp } } } return arr; } console.log(BubbleSort(arr)); //4, 13, 27, 38, 48, 49, 55, 65, 76, 97