博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js冒泡排序及计算其运行时间
阅读量:7183 次
发布时间:2019-06-29

本文共 1061 字,大约阅读时间需要 3 分钟。

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

转载于:https://www.cnblogs.com/iriliguo/p/6294199.html

你可能感兴趣的文章
go指针的一个小坑
查看>>
VSTO Office二次开发对PowerPoint功能简单测试
查看>>
photoshop快捷键大全
查看>>
Android -- EventBus使用
查看>>
利用gulp搭建本地服务器,并能模拟ajax
查看>>
Java一些八卦集合类
查看>>
linux进程地址空间--vma的基本操作【转】
查看>>
【转】SQLite3的各个函数(全)
查看>>
基于DotNet构件技术的企业级敏捷软件开发平台 AgileEAS.NET - 插件运行容器
查看>>
LintCode: Minimum Path Sum
查看>>
LintCode: Maximum Subarray
查看>>
大数据在金融和贸易中的作用
查看>>
开发者必读 移动端页面优化的10个好方法
查看>>
Nest 为何刚宣布开放 API,就能吸引到重量级盟友?
查看>>
JavaScript之this指针深入详解
查看>>
服务器运行过程中如何进行维护
查看>>
Web前端知识杂乱 如何分清主次和学习优先级?
查看>>
数据驱动的迷思
查看>>
软件工程师欲发动DDoS攻击白宫网站 抗议特朗普就任总统
查看>>
在中关村问小米
查看>>