Javascript冒泡排序算法詳解
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數(shù)。
針對所有的元素重復以上的步驟,除了最后一個。
持續(xù)每次對越來越少的元素重復上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。
function sort(elements){
for(var i=0;i<elements.length-1;i++){
for(var j=0;j<elements.length-i-1;j++){
if(elements[j]>elements[j+1]){
var swap=elements[j];
elements[j]=elements[j+1];
elements[j+1]=swap;
}
}
}
}
var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8];
console.log('before: ' + elements);
sort(elements);
console.log(' after: ' + elements);
效率:
時間復雜度:最好:O(n),最壞:O(n^2),平均:O(n^2)。
空間復雜度:O(1)。
穩(wěn)定性:穩(wěn)定。
- js交換排序 冒泡排序算法(Javascript版)
- JavaScript中的冒泡排序法
- javascript 冒泡排序 正序和倒序實現(xiàn)代碼
- js 排序動畫模擬 冒泡排序
- javascript中數(shù)組的冒泡排序使用示例
- JS實現(xiàn)冒泡排序,插入排序和快速排序并排序輸出
- JavaScript 冒泡排序和選擇排序的實現(xiàn)代碼
- js實現(xiàn)數(shù)組冒泡排序、快速排序原理
- javascript冒泡排序小結
- js對數(shù)組中的數(shù)字從小到大排序實現(xiàn)代碼
- 33種Javascript 表格排序控件收集
- js常用排序實現(xiàn)代碼
- JavaScript實現(xiàn)的冒泡排序法及統(tǒng)計相鄰數(shù)交換次數(shù)示例
相關文章
js數(shù)組直接賦值的問題(js數(shù)組的淺拷貝與深拷貝方法)
JS數(shù)組在直接賦值時屬于數(shù)組的淺拷貝,新數(shù)組保存的是原數(shù)據(jù)的內(nèi)存地址,修改新數(shù)組或原數(shù)組其中一個數(shù)組,另一個數(shù)組也會相應的變化,數(shù)組的直接賦值屬于數(shù)組的淺拷貝,JS存儲對象都是存內(nèi)存地址2022-10-10JavaScript中也使用$美元符號來代替document.getElementById
JavaScript可以定義$符號函數(shù),簡寫或書寫兼容性更好的代碼。2010-06-06ECMAScript6的新特性箭頭函數(shù)(Arrow Function)詳細介紹
這篇文章主要介紹了ECMAScript6的新特性箭頭函數(shù)(Arrow Function)詳細介紹,ECMAScript6其實就是JavaScript,它的新特性就是JS的新特性,引入只是時間問題,需要的朋友可以參考下2014-06-06