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绑定事件this指向发生改变的问题解决方法
Apr 23 Javascript
实现51Map地图接口(示例代码)
Nov 22 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
jquery中load方法的用法及注意事项说明
Feb 22 Javascript
javascript判断变量是否有值的方法
Apr 20 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
基于jQuery实现中英文切换导航条效果
Sep 18 Javascript
jquery-mobile基础属性与用法详解
Nov 23 Javascript
微信小程序 MD5加密登录密码详解及实例代码
Jan 12 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
用Fundebug插件记录网络请求异常的方法
Feb 21 Javascript
JS实现电脑虚拟键盘打字测试
Jun 24 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
php中magic_quotes_gpc对unserialize的影响分析
2014/12/16 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
原生js实现放大镜
2017/02/20 Javascript
JS实现的二叉树算法完整实例
2017/04/06 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
layui table去掉右侧滑动条的实现方法
2019/09/05 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
Python中Continue语句的用法的举例详解
2015/05/14 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
Pytorch mask_select 函数的用法详解
2020/02/18 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
金宝贝童装官网:Gymboree
2016/08/31 全球购物
改作风抓落实促发展心得体会
2014/09/10 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
工程技术员岗位职责
2015/04/11 职场文书
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers