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 相关文章推荐
Locate a File Using a File Open Dialog Box
Jun 18 Javascript
jquery入门—访问DOM对象方法
Jan 07 Javascript
js中关于一个分号的崩溃示例
Nov 11 Javascript
javascript截取字符串小结
Apr 28 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
Mar 01 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
Mar 04 Javascript
jQuery实现的多滑动门,多选项卡效果代码
Mar 28 Javascript
JS中取二维数组中最大值的方法汇总
Apr 17 Javascript
老生常谈onBlur事件与onfocus事件(js)
Jul 09 Javascript
jquery  实现轮播图详解及实例代码
Oct 12 Javascript
基于Vuejs框架实现翻页组件
Jun 29 Javascript
js canvas实现擦除效果示例代码
Apr 26 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
php检测文件编码的方法示例
2014/04/25 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
学习ExtJS TextField常用方法
2009/10/07 Javascript
{}与function(){}选用空对象{}来存放keyValue
2012/05/23 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
再谈javascript原型继承
2014/11/10 Javascript
jQuery中on()方法用法实例
2015/01/19 Javascript
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
url中的特殊符号有什么含义(推荐)
2016/06/17 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
js实现固定宽高滑动轮播图效果
2017/01/13 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
2019/10/15 Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
2020/04/09 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
Vue全局使用less样式,组件使用全局样式文件中定义的变量操作
2020/10/21 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python实现Youku视频批量下载功能
2017/03/14 Python
django的model操作汇整详解
2019/07/26 Python
python命令 -u参数用法解析
2019/10/24 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
阿里旅行:飞猪
2017/01/05 全球购物
Converse匡威法国官网:美国著名帆布鞋品牌
2018/12/05 全球购物
幼儿园教师自我鉴定
2014/03/20 职场文书
婚礼秀策划方案
2014/05/19 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
小兵张嘎电影观后感
2015/06/03 职场文书
小学生红领巾广播稿
2015/08/19 职场文书