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 1.4 15个你应该知道的新特性(译)
Jan 24 Javascript
Web前端设计模式  制作漂亮的弹出层
Oct 29 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
May 02 Javascript
深入理解Vuex 模块化(module)
Sep 26 Javascript
深入浅析JSONAPI在PHP中的应用
Dec 24 Javascript
基于jquery的on和click的区别详解
Jan 15 jQuery
layui关闭层级、简单监听的实例
Sep 06 Javascript
vue+element tabs选项卡分页效果
Jun 29 Javascript
Node.js API详解之 module模块用法实例分析
May 13 Javascript
ant design的table组件实现全选功能以及自定义分页
Nov 17 Javascript
微信小程序基础教程之echart的使用
Jun 01 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
详解vue 单页应用(spa)前端路由实现原理
2018/04/04 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
2020/04/03 Javascript
JavaScript冒泡算法原理与实现方法深入理解
2020/06/04 Javascript
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Windows和Linux下Python输出彩色文字的方法教程
2017/05/02 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python中p-value的实现方式
2019/12/16 Python
python3 使用ssh隧道连接mysql的操作
2020/12/05 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
三峡大坝导游词
2015/01/31 职场文书
2015年公司工作总结
2015/04/25 职场文书
入团介绍人意见范文
2015/06/04 职场文书
教师节简报
2015/07/20 职场文书
寒假生活随笔
2015/08/15 职场文书