Javascript冒泡排序算法詳解
比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。
對(duì)每一對(duì)相鄰元素作同樣的工作,從開(kāi)始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。
針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。
持續(xù)每次對(duì)越來(lái)越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(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);
效率:
時(shí)間復(fù)雜度:最好:O(n),最壞:O(n^2),平均:O(n^2)。
空間復(fù)雜度:O(1)。
穩(wěn)定性:穩(wěn)定。
- js交換排序 冒泡排序算法(Javascript版)
- JavaScript中的冒泡排序法
- javascript 冒泡排序 正序和倒序?qū)崿F(xiàn)代碼
- js 排序動(dòng)畫模擬 冒泡排序
- javascript中數(shù)組的冒泡排序使用示例
- JS實(shí)現(xiàn)冒泡排序,插入排序和快速排序并排序輸出
- JavaScript 冒泡排序和選擇排序的實(shí)現(xiàn)代碼
- js實(shí)現(xiàn)數(shù)組冒泡排序、快速排序原理
- javascript冒泡排序小結(jié)
- js對(duì)數(shù)組中的數(shù)字從小到大排序?qū)崿F(xiàn)代碼
- 33種Javascript 表格排序控件收集
- js常用排序?qū)崿F(xiàn)代碼
- JavaScript實(shí)現(xiàn)的冒泡排序法及統(tǒng)計(jì)相鄰數(shù)交換次數(shù)示例
相關(guān)文章
js數(shù)組直接賦值的問(wèn)題(js數(shù)組的淺拷貝與深拷貝方法)
JS數(shù)組在直接賦值時(shí)屬于數(shù)組的淺拷貝,新數(shù)組保存的是原數(shù)據(jù)的內(nèi)存地址,修改新數(shù)組或原數(shù)組其中一個(gè)數(shù)組,另一個(gè)數(shù)組也會(huì)相應(yīng)的變化,數(shù)組的直接賦值屬于數(shù)組的淺拷貝,JS存儲(chǔ)對(duì)象都是存內(nèi)存地址2022-10-10JS的框架Polymer中的dom-if和is屬性使用說(shuō)明
這篇文章主要介紹了JS的框架Polymer中的dom-if和is屬性使用說(shuō)明,Polymer是Google開(kāi)發(fā)的一款JavaScript框架,需要的朋友可以參考下2015-07-07JavaScript中也使用$美元符號(hào)來(lái)代替document.getElementById
JavaScript可以定義$符號(hào)函數(shù),簡(jiǎn)寫或書寫兼容性更好的代碼。2010-06-06JavaScript中的typeof操作符用法實(shí)例
在Web前端開(kāi)發(fā)中,我們經(jīng)常需要判斷變量的數(shù)據(jù)類型。鑒于ECMAScript是松散類型的,因此需要有一種手段來(lái)檢測(cè)給定變量的數(shù)據(jù)類型——typeof就是負(fù)責(zé)提供這方便信息的操作符。2014-04-04ECMAScript6的新特性箭頭函數(shù)(Arrow Function)詳細(xì)介紹
這篇文章主要介紹了ECMAScript6的新特性箭頭函數(shù)(Arrow Function)詳細(xì)介紹,ECMAScript6其實(shí)就是JavaScript,它的新特性就是JS的新特性,引入只是時(shí)間問(wèn)題,需要的朋友可以參考下2014-06-06