冒泡排序

65 阅读1分钟

第一遍:最大的值一定 到最后面了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        var arr = [20,13,15,60,12]
        console.log(arr.length)//5  对比次数为4
        for (var i = 0;i<arr.length-1; i++){//4
            if(arr[i]>arr[i+1]){
                var temp = arr[i]
                arr[i] = arr[i+1]
                arr[i+1] = temp
            }

        }
        console.log(arr)// [ 13, 15, 20, 12, 60 ]

        for (var i = 0;i<arr.length-1-1; i++){//3  在arr.length开始减的
            if(arr[i]>arr[i+1]){
                var temp = arr[i]
                arr[i] = arr[i+1]
                arr[i+1] = temp
            }

        }
        console.log(arr)// [ 13, 15, 12, 20, 60 ]

        for (var i = 0;i<arr.length-1-1-1; i++){//2
            if(arr[i]>arr[i+1]){
                var temp = arr[i]
                arr[i] = arr[i+1]
                arr[i+1] = temp
            }

        }
        console.log(arr)//[ 13, 12, 15, 20, 60 ]

        // console.log(arr.length-1-1-1-1) = 1

        for (var i = 0;i<arr.length-1-1-1-1; i++){  //1
            if(arr[i]>arr[i+1]){
                var temp = arr[i]
                arr[i] = arr[i+1]
                arr[i+1] = temp
            }

        }
        console.log(arr)//[ 12, 13, 15, 20, 60 ]


        //j=1的时候停止
        for(var j = arr.length-1;j>0;j--){//减3次
            for (var i = 0;i<arr.length-1; i++){//4
            if(arr[i]>arr[i+1]){
                var temp = arr[i]
                arr[i] = arr[i+1]
                arr[i+1] = temp
            }

        }

        }

        console.log(arr)//[ 12, 13, 15, 20, 60 ]
    </script>
</body>
</html>