一、原理
- 从数组的第一个位置开始两两比较arr[index]和arr[index+1],如果arr[index]大于arr[index+1]则交换array[index]和array[index+1]的位置,直到数组结束;
- 每趟都把最大的数“浮”到了最后一个位置
- 时间复杂度:O(N²)
二、图解
三、代码实现
function bubbleSort(arr){
for(var i = 0;i<arr.length;i++){
for(var j = 0;j<arr.length - i;j++){
if(arr[j] > arr[j+1]){
arr[j] = arr[j]+arr[j+1];
arr[j+1]=arr[j] - arr[j+1];
arr[j] = arr[j] - arr[j+1];
}
}
}
return arr;
}
var arr = [1,2,7,9,3,10];
console.log(bubbleSort(arr)); //[1,2,3,7,9,10]