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 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
Dec 04 Javascript
实现点击列表弹出列表索引的两种方式
Mar 08 Javascript
关于jquery中全局函数each使用介绍
Dec 10 Javascript
使用js完成节点的增删改复制等的操作
Jan 02 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
Jan 22 Javascript
jQuery读取XML文件内容的方法
Mar 09 Javascript
jQuery Dialog对话框事件用法实例分析
May 10 Javascript
深入解析微信小程序开发中遇到的几个小问题
Jul 11 Javascript
Node.js文本文件BOM头的去除方法
Nov 22 Javascript
vue图片裁剪插件vue-cropper使用方法详解
Dec 16 Vue.js
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 jQuery
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
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
浅析php工厂模式
2014/11/25 PHP
php遍历删除整个目录及文件的方法
2015/03/13 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
php微信开发自定义菜单
2016/08/27 PHP
php封装的验证码类分享
2017/02/26 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
ES6/JavaScript使用技巧分享
2017/12/14 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
Python中使用PyQt把网页转换成PDF操作代码实例
2015/04/23 Python
python中requests和https使用简单示例
2018/01/18 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
python如何实现代码检查
2019/06/28 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
Python实现动态给类和对象添加属性和方法操作示例
2020/02/29 Python
详解torch.Tensor的4种乘法
2020/09/03 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
Glamest意大利:女性在线奢侈品零售店
2019/04/28 全球购物
《春到梅花山》教学反思
2014/04/16 职场文书
儿童生日会策划方案
2014/05/15 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书
python numpy中setdiff1d的用法说明
2021/04/22 Python