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 循环显示div的示例代码
Oct 18 Javascript
浅析JavaScript基本类型与引用类型
May 28 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
May 03 Javascript
Web Uploader文件上传插件使用详解
May 10 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
JS中mouseover和mouseout多次触发问题如何解决
Jun 06 Javascript
详解JavaScript中typeof与instanceof用法
Oct 24 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
Aug 10 Javascript
Vue 构造选项 - 进阶使用说明
Aug 14 Javascript
如何在现代JavaScript中编写异步任务
Jan 31 Javascript
Vue实现下拉加载更多
May 09 Vue.js
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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php 操作调试的方法
2012/07/12 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
PHP在引号前面添加反斜杠(PHP去除反斜杠)
2013/09/28 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
javascript 进阶篇2 CSS XML学习
2012/03/14 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
javascript基础知识讲解
2017/01/11 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
从0到1构建vueSSR项目之node以及vue-cli3的配置
2019/03/07 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
javascript设计模式之装饰者模式
2020/01/30 Javascript
Python合并字符串的3种方法
2015/05/21 Python
python绘制直线的方法
2018/06/30 Python
python3.4+pycharm 环境安装及使用方法
2019/06/13 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
公证书格式
2015/01/23 职场文书
创建文明城市倡议书
2015/04/28 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
机器人瓦力观后感
2015/06/12 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
筑梦中国心得体会
2016/01/18 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
Redis命令处理过程源码解析
2022/02/12 Redis
如何基于python实现单目三维重建详解
2022/06/25 Python