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

js冒泡排序及计算其运行时间的更多相关文章

  1. 使用console进行 性能测试 和 计算代码运行时间(转载)

    本文转载自: 使用console进行 性能测试 和 计算代码运行时间

  2. js字符串长度计算(一个汉字==两个字符)和字符串截取

    js字符串长度计算(一个汉字==两个字符)和字符串截取 String.prototype.realLength = function() { return this.replace(/[^\x00-\ ...

  3. 在js脚本里计算多个小数的加法问题

    当在js脚本里计算多个小数的加法时,算得的结果往往会自动取整,这时候我们就应该加入以下代码: function toDecimal(x) { var val = Number(x); if (!isN ...

  4. C语言计算机器运行时间

    //计算机器运行时间 long i = 10000000L;clock_t start, finish;double duration;//测量一个事件持续的时间printf( "Time ...

  5. Objective-C 计算代码运行时间

    今天看到一篇关于iOS应用性能优化的文章,其中提到计算代码的运行时间,觉得非常有用,值得收藏.不过在模拟器和真机上是有差异的,以此方法观察程序运行状态,提高效率. 第一种:(最简单的NSDate) N ...

  6. vue.js初探:计算属性和methods

    在vue.js中,计算属性和methods方法的函数相同时,两者的最终执行结果都是相同的.然而不同的是,计算属性是基于它的依赖缓存.计算属性只有在它的相关依赖发生改变时才会重新取值.这就意味着只要 m ...

  7. C++简单输入输出-计算火车运行时间

    //写的很差,无力tc 7-4 计算火车运行时间 (17 分) 本题要求根据火车的出发时间和达到时间,编写程序计算整个旅途所用的时间. 输入格式: 输入在一行中给出2个4位正整数,其间以空格分隔,分别 ...

  8. 使用python装饰器计算函数运行时间的实例

    使用python装饰器计算函数运行时间的实例 装饰器在python里面有很重要的作用, 如果能够熟练使用,将会大大的提高工作效率 今天就来见识一下 python 装饰器,到底是怎么工作的. 本文主要是 ...

  9. 使用console进行 性能测试 和 计算代码运行时间

    原文:http://www.tuicool.com/articles/JrARVjv 对于前端开发人员,在开发过程中经常需要监控某些表达式或变量的值,如果使用用 debugger 会显得过于笨重,最常 ...

随机推荐

  1. 转 Encoding is Not Encryption 编码和加密的区别

    昨天跟别人聊天的时候,别人把base64说成了加密. 我并不是扣字眼,但是做为一个IT技术人员我认为分辨加密和编码的区别算是一个常识. It's unfortunate that the words  ...

  2. php的几个内置的函数

    // 取得所有的后缀为PHP的文件 $files = glob(‘*.php’); print_r($files); j

  3. [iOS Animation]-CALayer 图层性能

    图层性能 要更快性能,也要做对正确的事情. ——Stephen R. Covey 在第14章『图像IO』讨论如何高效地载入和显示图像,通过视图来避免可能引起动画帧率下降的性能问题.在最后一章,我们将着 ...

  4. $(function(){})的执行过程分析

    作者:zccst 首先,$(function(){})是$(document).ready(function(){})的简写形式. 在日常使用中,我们会把代码写到$(function(){})中,今天 ...

  5. android-tools adb for ARM Linux

    /************************************************************************* * android-tools adb for A ...

  6. 关于div宽度和高度的100%设定

    设置DIV大小的有两个属性width和height,以前在学习DIV每次给DIV设置100%宽度或高度时都很迷惑,不明白这个100%的宽度(高度)到底有多宽有多高?这个100%是从哪里得到的从哪里继承 ...

  7. 02 easyui -parser

    parser: 页面节点class=“easyui-” +组件名(在plugins里) ,则可以 渲染成相应的组件.

  8. 【转】HTTP响应报文与工作原理详解

    超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求;服务器接到 ...

  9. IOS 7 Xcode 5 免IDP证书 真机调试(转载)

    最近转开发了,真的很久没有更新博客了,今天有空写一篇吧. 今天带来的是 IOS 7 Xcode 5 免IDP证书的真机调试.说白了就是穷,不想给苹果交那$99的钱. 注意:虽然可以用这个方法实现真机调 ...

  10. angularjs ajax传参

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...