冒 泡 排 序

冒泡排序原理:比较两个相邻的元素,将值大的元素交换到右边

思路

                              原始数组:5、4、3、2、1

第一轮比较(4次):

                    第1次比较    因为5>4,所以5和4交换位置;

                    第2次比较    因为5>3,所以5和3交换位置;

                    第3次比较    因为5>2,所以5和2交换位置;

                    第4次比较    因为5>1,所以5和1交换位置。

                         第一轮比较后数组:4、3、2、1、5

第二轮比较(3次):                                    

                    第1次比较    因为4>3,所以4和3交换位置;

                    第2次比较    因为4>2,所以4和2交换位置;

                    第3次比较    因为4>1,所以4和1交换位置。

                    因为第一轮5和4比较了所以第二轮不用比较

                        第二轮比较后数组:3、2、1、4、5

第三轮比较(2次):                                    

                    第1次比较    因为3>2,所以3和2交换位置;

                    第2次比较    因为3>1,所以3和1交换位置。

                    因为第二轮4和3比较了所以第三轮不用比较;

                     因为第一轮5和4比较了所以第三轮不用比较。

                          第三轮比较后数组:2、1、3、4、5

第四轮比较(1次):                                    

                    第1次比较    因为2>1,所以2和1交换位置。

                    因为第三轮3和2比较了所以第三轮不用比较;

                    因为第二轮4和3比较了所以第三轮不用比较;

                    因为第一轮5和4比较了所以第三轮不用比较。

                          第四轮比较后数组:1、2、3、4、5

思路图解

 效果图

 源码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>冒泡排序</title>
</head>

<body>
    <script>
        //冒泡排序:把所有的数据按照一定的顺序进行排列
        var arr = [5, 4, 3, 2, 1];
        //循环控制比较的轮数
        for (var i = 0; i < arr.length - 1; i++) {
            //控制每一轮的比较的次数
            for (var j = 0; j < arr.length - 1 - i; j++) {
                if (arr[j] < arr[j + 1]) {
                    var temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                }
            }
        }
        console.log(arr);
    </script>
</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值