DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> JavaScript中的冒泡排序法
JavaScript中的冒泡排序法
編輯:關於JavaScript     

利用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中的冒泡排序法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved