JavaScript中的冒泡排序法

 更新时间:2016年08月03日 16:28:32   作者:鹿兔牛马羊  
这篇文章主要介绍了JavaScript中的冒泡排序法的知识,并通过一个例子给大家讲解了js冒泡排序,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧

利用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中的冒泡排序法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 移动端手指放大缩小插件与js源码

    移动端手指放大缩小插件与js源码

    这篇文章主要介绍了移动端手指放大缩小插件与js源码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • 详解JS中遍历语法的比较

    详解JS中遍历语法的比较

    本篇文章主要介绍了详解JS中遍历语法的比较 ,主要介绍for循环、forEach、for...in、for...of的用法和缺点,有兴趣的可以了解一下。
    2017-04-04
  • js抽奖转盘实现方法分析

    js抽奖转盘实现方法分析

    这篇文章主要介绍了js抽奖转盘实现方法,结合实例形式分析了js抽奖转盘原理、实现方法与操作注意事项,需要的朋友可以参考下
    2020-05-05
  • 利用JS来控制键盘的上下左右键(示例代码)

    利用JS来控制键盘的上下左右键(示例代码)

    这篇文章主要介绍了利用JS来控制键盘的上下左右键示例代码。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • js中获取事件对象的方法小结

    js中获取事件对象的方法小结

    事件对象 的获取很简单,很久前我们就知道IE中事件对象是作为全局对象( window.event )存在的,Firefox中则是做为句柄( handler )的第一个参数传入内的。所以一行代码就可以搞定
    2011-03-03
  • JavaScript对象原型链原理详解

    JavaScript对象原型链原理详解

    这篇文章主要介绍了JavaScript对象原型链原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • javascript实现仿腾讯游戏选择

    javascript实现仿腾讯游戏选择

    这篇文章主要介绍了javascript实现仿腾讯游戏选择,简单实现的下拉菜单二级联动效果,十分不错,有需要的小伙伴可以参考下。
    2015-05-05
  • JS 实现缓存算法的示例(FIFO/LRU)

    JS 实现缓存算法的示例(FIFO/LRU)

    这篇文章主要介绍了JS 实现缓存算法的示例(FIFO/LRU),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • 理解javascript中的Function.prototype.bind的方法

    理解javascript中的Function.prototype.bind的方法

    这篇文章主要介绍了理解javascript中的Function.prototype.bind的方法,具有一定参考价值,有兴趣的可以了解一下。
    2017-02-02
  • ES6对象操作实例详解

    ES6对象操作实例详解

    这篇文章主要介绍了ES6对象操作,结合实例形式详细分析了ES6对象创建、赋值、比较、合并等相关操作技巧与注意事项,需要的朋友可以参考下
    2020-05-05

最新评论