1. function bubbleSort(arr){
    2. if(!arr.length)return;
    3. for(let i=0;i<arr.length;i++){
    4. let flag = false;// 如果没有交还,则提前退出
    5. for(let j=0;j<arr.length-i;j++){//最后的i个元素为已经排好的,不需要比较
    6. if(arr[j]>arr[j+1]){
    7. [arr[j],arr[j+1]] = [arr[j+1],arr[j]];
    8. flag = true;
    9. }
    10. }
    11. if(!flag)return;
    12. }
    13. }
    • 空间复杂度 O(1),是原地排序
    • 最好情况 o(n)
    • 最差情况O(n)
    • 是稳定排序
    • 平均 O(n) ,原理有点复杂