冒泡排序

https://segmentfault.com/a/1190000014175918?utm_source=tag-newest

   var arr=[2,34,54,66,43,20,20]
        var m=0;
        var n=0;
        for(var i=0;i<arr.length-1;i++){
            for(j=0;j<arr.length-1;j++){
                if(arr[j]>arr[j+1]){
                    var tmp=arr[j]
                    arr[j]=arr[j+1]
                    arr[j+1]=tmp
                }
                n++
            }
            m++
        }
        console.log(arr)
        console.log(m) 
        console.log(n)
  var arr=[2,34,54,66,43,20,20]
        var m=0;
        var n=0;
        for(var i=0;i<arr.length-1;i++){
            for(j=0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    var tmp=arr[j]
                    arr[j]=arr[j+1]
                    arr[j+1]=tmp
                }
                n++
            }
            m++
        }
        console.log(arr)
        console.log(m) 
        console.log(n)
 var arr=[2,34,54,66,43,20,20]
        var m=0; //记录循环次数
        var n=0;//记录比较次数
        for(var i=0;i<arr.length-1;i++){
            var flag=true//标志位,如果没有元素交换位置了,说明排序完成
            for(j=0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    var tmp=arr[j]
                    arr[j]=arr[j+1]
                    arr[j+1]=tmp
                    flag=false
                }
                n++
            }
            m++
            if(flag){
                break
            }
        }
        console.log(arr)
        console.log(m) 
        console.log(n)

 

posted on 2020-05-29 20:38  猪mother  阅读(99)  评论(0编辑  收藏  举报