zoukankan      html  css  js  c++  java
  • js冒泡排序及计算其运行时间

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>冒泡排序(bublesort)</title>
    <script>
    // console.log(new Date().getTime());
    console.time('冒泡排序耗时');
    var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48];
    function bubleSort(arr){
    var len = arr.length;
    for (var i=0; i<len;i++){//外循环控制轮数
    for (var j=0;j<len-1-i;j++){//内循环控制次数
    if(arr[j]>arr[j+1]){//相邻元素两两对比
    var temp =arr[j+1]; //元素交换
    arr[j+1] = arr[j];//把arr[j]的值赋值给arr[j+1]
    arr[j] = temp;//把arr[j+1]的值赋值给arr[j]
    }
    }
    }
    return arr;
    }
    console.log(bubleSort(arr));
    // console.log(new Date().getTime());
    console.timeEnd('改进后冒泡排序耗时');

    //结果[2, 3, 4, 5, 15, 19, 26, 27, 36, 38, 44, 46, 47, 48, 50]
    //例如:数组[3,2,5,2,1]有五个数,而五个数字,起码要进行四轮外循环才行,第一次内循环会比较四次,

    //往后递减(第二次比较3次,最后一个数最大,不用比较;第三次比较2次,最后两个数依次最大;第四次比较一次)

    //getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。在代码开始和结束时分别打印出当时的时间,

    //看两者之差便可得出一段程序运行的时间。
    //console.time(label) console.timeEnd(label) 这两个方法均使用一个参数,参数值可以为任
    //何字符串,但是这两个方法所使用的参数字符串必须相同,才能正确地统计出开始时间与结束时间之间
    //所经过的毫秒数。

    </script>
    </head>
    <body>

    </body>
    </html>

  • 相关阅读:
    17.CSS 文本属性和字体属性
    15.CSS 浮动
    D. Same GCDs
    B. Infinite Prefixes
    D. 0-1 MST
    lambda表达式复习
    D. New Year and Conference
    C. New Year and Permutation
    D. Dr. Evil Underscores
    D. Minimax Problem
  • 原文地址:https://www.cnblogs.com/iriliguo/p/6294199.html
Copyright © 2011-2022 走看看