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 相关文章推荐
js 获取、清空input type=&quot;file&quot;的值(示例代码)
Dec 24 Javascript
浅析JS获取url中的参数实例代码
Jun 14 Javascript
Vue.js每天必学之组件与组件间的通信
Sep 08 Javascript
基于vue.js实现图片轮播效果
Dec 01 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
Dec 13 Javascript
js实现用户输入的小写字母自动转大写字母的方法
Jan 21 Javascript
json数据处理及数据绑定
Jan 25 Javascript
js oncontextmenu事件使用详解
Mar 25 Javascript
用vue和node写的简易购物车实现
Apr 25 Javascript
angularjs通过过滤器返回超链接的方法
Oct 26 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 Javascript
Vue学习之axios的使用方法实例分析
Jan 06 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
咖啡与牛奶
2021/03/03 冲泡冲煮
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
2014/06/19 PHP
destoon复制新模块的方法
2014/06/21 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
Angular directive递归实现目录树结构代码实例
2017/05/05 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
2017/10/11 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
2018/03/23 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
python包的导入方式总结
2021/03/02 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
用HTML5.0制作网页的教程
2010/05/30 HTML / CSS
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
Vertbaudet西班牙网上商店:婴儿服装、童装、母婴用品和儿童家具
2019/10/16 全球购物
中学生寄语大全
2014/04/03 职场文书
英语教师求职信
2014/06/16 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
机关职员工作检讨书
2014/10/23 职场文书
银行催款通知书
2015/04/17 职场文书
朝花夕拾读书笔记
2015/06/29 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript