JS冒泡排序

修改自https://www.cnblogs.com/zhouliang/p/6638010.html 

    var arr = [49, 38, 65, 97, 76, 13, 27, 49];
    console.log('arr:' + arr);    //打印排序前的数组
    Bubblesort(arr);
    console.log('sortArr:' + arr);    //打印排序后的数组

    function Bubblesort(arr){
        for(i=0;iarr[j+1]){
                    var temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                }
            }
            console.log('newArr:' + arr); 
        }
    }

JS冒泡排序_第1张图片

加入flag,没有进行过交换,则不再进行多余地排序。 

    var arr = [49, 38, 65, 97, 76, 13, 27, 49];
    console.log('arr:' + arr);
    Bubblesort(arr);
    console.log('sortArr:' + arr);

    function Bubblesort(arr){
        var flag=1;    //flag用来标记某一趟排序是否发生交换
        for(i=0;iarr[j+1]){
                    var temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                    flag=1;    //flag置为1,表示本趟排序发生了交换
                }
            }
            console.log('newArr:' + arr); 
            if(flag==0)  break;
        }
    }

 

JS冒泡排序_第2张图片

你可能感兴趣的:(JS冒泡排序)