js- 冒泡排序

<!DOCTYPE html>
<html lang="zh-CN">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> 冒泡排序 </title>

<script>
    // 冒泡排序 - 升序 排列 (由小到大排列)
    // 一次次的找最大值,并 把它移到最后面
    // toString 把数字转换为字符串

    var arr = [7, 6, 5, 4, 3, 2, 1];
    console.log(arr.toString()); // [7 , 6 , 5 , 4 , 3 , 2 , 1 ];

    //1.外部循环 保证了 一共 将 length - 1 个数 从小到大 的 排序
    for (var wai = 1; wai <= arr.length - 1; wai++) {

        //2.内部循环 保证 了 最大值 被 移动到最后
        for (var i = 0; i <= arr.length - 1; i++) {
            //3.如果 当前元素 比后面的元素大,则交换两个元素的位置
            if (arr[i] > arr[i + 1]) {
                // 使用 临时变量 的方式,交换两个 元素的值 -> 交换两个变量的值
                var sum = arr[i];
                arr[i] = arr[i + 1];
                arr[i + 1] = sum;
            }
        }
        console.log('第' + wai + '轮交换后的结果: ' + arr.toString());

        // 第1轮交换后的结果: 6,5,4,3,2,1,7
        // 第2轮交换后的结果: 5,4,3,2,1,6,7
        // 第3轮交换后的结果: 4,3,2,1,5,6,7
        // 第4轮交换后的结果: 3,2,1,4,5,6,7
        // 第5轮交换后的结果: 2,1,3,4,5,6,7
        // 第6轮交换后的结果: 1,2,3,4,5,6,7
    }
</script>

</head>

<body>
</body>

</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容