js基础

js- 冒泡排序

2019-04-28  本文已影响0人  椋椋夜色

<!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>

上一篇 下一篇

猜你喜欢

热点阅读