<!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. javascript中的原型继承

    在Javascript面向对象编程中,原型继承不仅是一个重点也是一个不容易掌握的点.在本文中,我们将对Javascript中的原型继承进行一些探索. 基本形式 我们先来看下面一段代码: <cod ...

  2. django第一篇

    摘要: 1 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.模型即后端逻辑,视图就是url对应的前端展示 2本文简介了使用模型 ...

  3. hibernate--student_course_score

    学生, 课程,分数的设计. a)使用联合主键@EmbeddedId 使用Serializable接口 b)不适用联合主键 联合主键: 3张表, student: id, name course: id ...

  4. hibernate---联合主键关联

    被主导方wife有两个主键: package com.bjsxt.hibernate; import javax.persistence.Entity; import javax.persistenc ...

  5. Mysql update语句赋值嵌套与在表列中数据后面增加数据

    1.Mysql update语句赋值嵌套select  点击(此处)折叠或打开 update a set col=(select col from a where id='5') where id&g ...

  6. 使用RGBa和Filter实现不影响子元素的CSS透明背景

    点击查看原文 问题 如果我们想要一个元素拥有半透明的背景,我们有两个选择: 使用CSS和 opacity 做一张 24-bit PNG 背景图片 在CSS中使用opacity有两个问题,一是为了适应所 ...

  7. ios中操作技巧

    1.配置字段快捷键: @property(nonatimic,copy) NSString *<#param#>; 2.NSNumber 转NSString 最快简单方式: NSNumbe ...

  8. ID3决策树预测的java实现

    刚才写了ID3决策树的建立,这个是通过决策树来进行预测.这里主要用到的就是XML的遍历解析,比较简单. 关于xml的解析,参考了: http://blog.csdn.net/soszou/articl ...

  9. HUST 1354 Rubiks

    背包.注释写详细了. 本想这样写:每个组内各自做背包,然后组间做背包,但是由于这题M=10000,时间复杂度太大. #include<cstdio> #include<cstring ...

  10. NPOI使用Datatable导出到Excel

    首先要引用dll 下载地址:http://pan.baidu.com/s/1dFr2m 引入命名空间: using NPOI.HSSF.UserModel;using NPOI.SS.UserMode ...