JavaScript中的冒泡排序法
利用sort()冒泡排序:
vararr=[5,39,8,1,2,13,55]; arr=arr.sort(function(a,b){returna-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; } vararr=[5,39,8,1,2,13,55]; functionjssort(ele){ for(vari=0;i<ele.length;i++){//要循环多少次 for(varj=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 } } } returnele; } 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){returnparseInt(a.match(/(\d+)(?=号)/)[1])-parseInt(b.match(/(\d+)(?=号)/)[1])});
match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似indexOf()和lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
a.match(/(\d+)(?=号)///数字+零次或一次匹配前面的字符或子表达式。
下面大家看下js冒泡排序实例
例子,js实现冒泡排序的例子。
<html> <head> <scripttype="text/javascript"> functionsort(arr){ for(vari=0;i<arr.length;i++){ for(varj=0;j<arr.length-i-1;j++){ if(arr[j]<arr[j+1]){ vartemp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } returnarr; } vararr=[2,5,3,1,7,8,78,89]; sort(arr); </script> </head> <body> </body> </html>
以上所述是小编给大家介绍的JavaScript中的冒泡排序法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!