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 相关文章推荐
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
Mar 10 Javascript
google地图的路线实现代码
Aug 20 Javascript
jquery ajax提交整个表单元素的快捷办法
Mar 27 Javascript
jquery插件开发之实现md5插件
Mar 17 Javascript
学习JavaScript设计模式之模板方法模式
Jan 20 Javascript
30分钟快速掌握Bootstrap框架
May 24 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
Oct 26 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
Mar 06 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
Jan 02 Javascript
JS实现数据动态渲染的竖向步骤条
Jun 24 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 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
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
用cssText批量修改样式
2009/08/29 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
js中indexof的用法详细解析
2013/12/24 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
js倒计时抢购实例
2015/12/20 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
微信小程序12行js代码自己写个滑块功能(推荐)
2020/07/15 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
印度购物网站:TATA CLiQ
2017/11/23 全球购物
荷兰手表网站:Watch2Day
2018/07/02 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
比较基础的php面试题及答案-编程题
2012/10/14 面试题
一个C/C++编程面试题
2013/11/10 面试题
学校就业推荐信范文
2014/05/19 职场文书
爱国口号
2014/06/19 职场文书
论群众路线学习笔记
2014/11/06 职场文书
2015年幼儿园元旦游艺活动策划书
2014/12/09 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
中英文求职信范文
2015/03/19 职场文书
nginx优化的六点方法
2021/03/31 Servers
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
在js中修改html body的样式
2021/11/11 Javascript
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL