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 相关文章推荐
网页javascript精华代码集
Jan 24 Javascript
指定js可访问其它域名的cookie的方法
Sep 18 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
Mar 21 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
bootstrap中添加额外的图标实例代码
Feb 15 Javascript
利用Jasmine对Angular进行单元测试的方法详解
Jun 12 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 Javascript
浅谈js获取ModelAndView值的问题
Mar 28 Javascript
小程序自定义组件实现城市选择功能
Jul 18 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
Sep 18 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php连接mysql数据库代码
2009/03/10 PHP
php中动态调用函数的方法
2015/03/16 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
2014/04/04 Javascript
jquery选择器使用详解
2014/04/08 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
webpack+vue+express(hot)热启动调试简单配置方法
2018/09/19 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
Vue.js组件实现选项卡以及切换特效
2019/07/24 Javascript
layUI实现前端分页和后端分页
2019/07/27 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
Python 正则表达式入门(初级篇)
2016/12/07 Python
Python对象转换为json的方法步骤
2019/04/25 Python
TensorFlow自定义损失函数来预测商品销售量
2020/02/05 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
应届毕业生的自我鉴定
2013/11/13 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
2016三八妇女节校园广播稿
2015/12/17 职场文书
《黄道婆》教学反思
2016/02/22 职场文书
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
js不常见操作运算符总结
2021/11/20 Javascript
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL