码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2016-08-09 01:59:33      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>


//    var arr = [65,97,76,13,27,49,58];
    var arr = [1,2,4,3,5,6,7];

    //轮数
    var m = 0;
    //次数
    var n = 0;

    //什么情况下,我们可以确定排序完毕?
    // (if语句中在一次循环下如果代码被执行了,没有排序完毕。)
    // (一轮for循环之后一次if语句都没有被执行,说明排序完毕了。)
        //技术点:开闭原则。




    //外循环控制轮数(元素个数减一)
    for(var i=0;i<arr.length-1;i++){
        //开闭原则中的开关(默认是开启的)
        var bool = true;

        //内循环控制次数(元素个数减一)
        for(var j=0;j<arr.length-1-i;j++){
            //注意:1.怎么比较?(相邻的两个数比较)    2.什么情况下交换位置。(前边数大)
            //如果判断条件和交换元素位置呢
            if(arr[j] > arr[j+1]){
                //交换位置
                var temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
                //不会的同学举手。(没有排序完毕呢)
                bool = false;
            }
            n++;
        }
        m++;
        //内循环中的if语句没有被执行
        if(bool){
            break;
        }
    }

    console.log(arr);
    console.log(m);
    console.log(n);



</script>
</body>
</html>

 

冒泡排序

标签:

原文地址:http://www.cnblogs.com/lcf1314/p/5751571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!