JavaScript中的冒泡排序法


Posted in Javascript onAugust 03, 2016

利用sort()冒泡排序:

var arr = [5,39,8,1,2,13,55];
arr = arr.sort(function(a,b){return a-b});
console.log(arr);//1,2,5,8,13,39,55

不声明第三个变量冒泡排序:

第一层遍历数组的个数(要遍历多少次),第二次遍历(共要循环几次)

a = 10; //第一个元素
b = 5; //下一个元素
if(a>b){
a = a+b; // a(15) = 10 +5;

b = a-b; // b(10) = 15 - 5;

a = a-b; // a(5) = 15 - 10;
}
var arr = [5,39,8,1,2,13,55];
function jssort(ele){
for (var i=0;i<ele.length;i++){ //要循环多少次
for (var j=0;j<ele.length-i-1;j++){ //要移动几次
if(ele[j]>ele[j+1]){
ele[j]=ele[j]+ele[j+1]; //a = a+b 
ele[j+1]=ele[j]-ele[j+1];//b = a-b
ele[j]=ele[j]-ele[j+1]; //a = a-b
}
}
}
return ele;
}
console.log(jssort(arr));//1,2,5,8,13,39,55

今天在网上看见这样一个冒号排序

一个数组包含元素号,“110金刚3号”,“200金刚1号”,“50金刚2号”,“30金刚6号”,“30金刚5号”,“30金刚4号” 如何根据字符串中后面的多少号对数组进行排序。

答案:利用sort()排序,在回调函数中使用正则表达式

arr.sort(function(a,b){return parseInt(a.match(/(\d+)(?=号)/)[1])-parseInt(b.match(/(\d+)(?=号)/)[1])});

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

a.match(/(\d+)(?=号)/ //数字+零次或一次匹配前面的字符或子表达式。

下面大家看下js冒泡排序实例

例子,js实现冒泡排序的例子。

<html>
<head>
<script type="text/javascript">
function sort (arr) {
for (var i = 0;i<arr.length;i++) {
for (var j = 0; j < arr.length-i-1; j++) {
if (arr[j]<arr[j+1]) {
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
var arr=[2,5,3,1,7,8,78,89];
sort(arr);
</script>
</head>
<body>
</body>
</html>

以上所述是小编给大家介绍的JavaScript中的冒泡排序法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery 使用手册(六)
Sep 23 Javascript
jQuery前台数据获取实现代码
Mar 16 Javascript
js两行代码按指定格式输出日期时间
Oct 21 Javascript
jQuery代码优化 遍历篇
Nov 01 Javascript
对jQuery的事件绑定的一些思考(补充)
Apr 20 Javascript
用javascript将数据导入Excel示例代码
Sep 10 Javascript
javascript简单比较日期大小的方法
Jan 05 Javascript
如何高效率去掉js数组中的重复项
Apr 12 Javascript
Bootstrap框架下下拉框select搜索功能
Mar 26 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
Feb 17 Javascript
JS实现的数组去除重复数据算法小结
Nov 17 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
Mar 15 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
Aug 03 #Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 #Javascript
JS简单生成两个数字之间随机数的方法
Aug 03 #Javascript
极力推荐10个短小实用的JavaScript代码段
Aug 03 #Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
Aug 03 #Javascript
15款最好的Bootstrap在线编辑器
Aug 03 #Javascript
基于d3.js实现实时刷新的折线图
Aug 03 #Javascript
You might like
PHP5中MVC结构学习
2006/10/09 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
新浪的图片新闻效果
2007/01/13 Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
2007/10/01 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
为什么推荐使用JSX开发Vue3
2020/12/28 Vue.js
python 实现红包随机生成算法的简单实例
2017/01/04 Python
Python实现多线程HTTP下载器示例
2017/02/11 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
计算机二级python学习教程(3) python语言基本数据类型
2019/05/16 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
Python系统公网私网流量监控实现流程
2020/11/23 Python
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
社区科普工作方案
2014/06/03 职场文书
元旦趣味活动方案
2014/08/22 职场文书
村主任个人对照检查材料
2014/10/01 职场文书
2015年售票员工作总结
2015/04/29 职场文书
2015年公路路政个人工作总结
2015/07/24 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技