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 相关文章推荐
新手入门常用代码集锦
Jan 11 Javascript
JSQL SQLProxy 的 php 版本代码
May 05 Javascript
扩展javascript的Date方法实现代码(prototype)
Nov 20 Javascript
javascript仿qq界面的折叠菜单实现代码
Dec 12 Javascript
JS分页效果示例
Oct 11 Javascript
给事件响应函数传参数的四种方式小结
Dec 05 Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
layui点击按钮添加可编辑的一行方法
Aug 15 Javascript
webstorm+vue初始化项目的方法
Oct 18 Javascript
js 实现 list转换成tree的方法示例(数组到树)
Aug 18 Javascript
JavaScript 装逼指南(js另类写法)
May 10 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
PHP7.0版本备注
2015/07/23 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
PHP微信红包API接口
2015/12/05 PHP
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
php跨域调用json的例子
2013/11/13 Javascript
如何调试异步加载页面里包含的js文件
2014/10/30 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
JS之相等操作符详解
2016/09/13 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
javascript兼容性(实例讲解)
2017/08/15 Javascript
NodeJs搭建本地服务器之使用手机访问的实例讲解
2018/05/12 NodeJs
垃圾回收器的相关知识点总结
2018/05/13 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
js重写alert事件(避免alert弹框标题出现网址)
2020/12/04 Javascript
[03:49]2016完美“圣”典风云人物:AMS专访
2016/12/06 DOTA
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
Python中每次处理一个字符的5种方法
2015/05/21 Python
python机器学习库常用汇总
2017/11/15 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
DNA测试:Orig3n
2019/03/01 全球购物
学期自我鉴定范文
2013/10/01 职场文书
学雷锋志愿服务月活动总结
2014/03/09 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python