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 选择器使用说明介绍
Apr 18 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
Jun 02 Javascript
js操作iframe的一些方法介绍
Jun 25 Javascript
javascript 循环调用示例介绍
Nov 20 Javascript
ExtJS如何设置与获取radio控件的选取状态
Jan 22 Javascript
JS 删除字符串最后一个字符的实现代码
Feb 20 Javascript
jQuery实现向下滑出的二级菜单效果实例
Aug 22 Javascript
AngularJS入门教程之路由与多视图详解
Aug 19 Javascript
使用canvas进行图像编辑的实例
Aug 29 Javascript
详解node服务器中打开html文件的两种方法
Sep 18 Javascript
详解关于element el-button使用$attrs的一个注意要点
Nov 09 Javascript
了解JavaScript表单操作和表单域
May 27 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
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
jQuery的学习步骤
2011/02/23 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
运用jQuery定时器的原理实现banner图片切换
2014/10/22 Javascript
解决js下referer兼容各大浏览器的方法
2014/11/03 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
react实现一个优雅的图片占位模块组件详解
2017/10/30 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
解决bootstrap中下拉菜单点击后不关闭的问题
2018/08/10 Javascript
解决vue中修改export default中脚本报一大堆错的问题
2018/08/27 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
[01:00:25]2018DOTA2亚洲邀请赛3月30日 小组赛A组 VG VS Liquid
2018/03/31 DOTA
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Python 绘制可视化折线图
2020/07/22 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
css3实现文字首尾衔接跑马灯的示例代码
2020/10/16 HTML / CSS
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
毕业生幼师求职自荐信
2013/10/01 职场文书
学期自我鉴定范文
2013/10/01 职场文书
行政前台岗位职责
2013/12/04 职场文书
重阳节慰问信
2015/02/15 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
春风化雨观后感
2015/06/11 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android