# 冒泡排序

## 思路



![冒泡排序](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MdzWW4gUJKke6s2odrw%2Fuploads%2Ful6dIeqnLICaB0GI0YBv%2Ffile.gif?alt=media)

1. 比较相邻的元素。如果第一个比第二个大，就交换他们两个。
2. 对每一对相邻元素作同样的工作，从开始第一对到结尾的最后一对。这步做完后，最后的元素会是最大的数。
3. 针对所有的元素重复以上的步骤，除了最后一个。
4. 持续每次对越来越少的元素重复上面的步骤，直到没有任何一对数字需要比较。

## ​代码实现

```javascript
function bubbleSort(arr){
    const len = arr.length;
    for(let i=0;i<len-1;i++){
        for(let j=0;j<len-i-1;j++){
            if(arr[j]>arr[j+1]){
                let tmp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = tmp;
            }
        }
    }
    return arr;
}
```
