欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js交換排序 冒泡排序算法(Javascript版)

 更新時(shí)間:2014年10月04日 00:06:47   作者:白色的海  
這篇文章主要介紹了js交換排序 冒泡排序算法(Javascript版) ,需要的朋友可以參考下

比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。
對(duì)每一對(duì)相鄰元素作同樣的工作,從開始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。
針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。
持續(xù)每次對(duì)越來越少的元素重復(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)定。

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)圖片選擇并預(yù)覽功能

    微信小程序?qū)崿F(xiàn)圖片選擇并預(yù)覽功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)圖片選擇并預(yù)覽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Three.js?中的屏幕空間環(huán)境光遮蔽SSAO

    Three.js?中的屏幕空間環(huán)境光遮蔽SSAO

    這篇文章主要為大家介紹了Three.js?中屏幕空間環(huán)境光遮蔽SSAO的原理及實(shí)現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • 下一代Bootstrap的5個(gè)特點(diǎn) 超酷炫!

    下一代Bootstrap的5個(gè)特點(diǎn) 超酷炫!

    下一代Bootstrap的5個(gè)特點(diǎn),超酷炫,你還猶豫什么,趕緊來學(xué)習(xí)吧
    2016-06-06
  • JS實(shí)現(xiàn)點(diǎn)擊按鈕可實(shí)現(xiàn)編輯功能

    JS實(shí)現(xiàn)點(diǎn)擊按鈕可實(shí)現(xiàn)編輯功能

    本文通過一段實(shí)例代碼給大家介紹了基于js實(shí)現(xiàn)點(diǎn)擊按鈕可編輯效果,代碼簡單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的的朋友參考下吧
    2018-07-07
  • 如何使用50行javaScript代碼實(shí)現(xiàn)簡單版的call,apply,bind

    如何使用50行javaScript代碼實(shí)現(xiàn)簡單版的call,apply,bind

    這篇文章主要介紹了50行javaScript代碼實(shí)現(xiàn)簡單版的call,apply,bind過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • JavaScript避免內(nèi)存泄露及內(nèi)存管理技巧

    JavaScript避免內(nèi)存泄露及內(nèi)存管理技巧

    這篇文章主要介紹了JavaScript避免內(nèi)存泄露及內(nèi)存管理技巧,主要包括了delete應(yīng)用、閉包、DOM泄露、Timers計(jì)(定)時(shí)器泄露等等,需要的朋友可以參考下
    2014-09-09
  • js中復(fù)選框的取值及賦值示例詳解

    js中復(fù)選框的取值及賦值示例詳解

    這篇文章主要給大家介紹了關(guān)于js中復(fù)選框的取值及賦值的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 詳解JavaScript?(!!)?中的雙感嘆號(hào)是干什么用的

    詳解JavaScript?(!!)?中的雙感嘆號(hào)是干什么用的

    JavaScript?不是靜態(tài)語言,而是動(dòng)態(tài)語言,這意味著變量可以引用或保存任何類型的值,此外,該類型可以隨時(shí)更改,這篇文章主要介紹了JavaScript?(!!)?中的雙感嘆號(hào)作用,需要的朋友可以參考下
    2022-09-09
  • 前端開發(fā)過程中瀏覽器版本的兩種判定方法

    前端開發(fā)過程中瀏覽器版本的兩種判定方法

    前端開發(fā)過程中經(jīng)常需要判斷瀏覽器的版本,達(dá)到同時(shí)兼容多個(gè)瀏覽器的目的,下面有兩種不錯(cuò)的常用方法:jquery及HTML中的注釋,喜歡的朋友可以參考下
    2013-10-10
  • 原生js封裝無縫輪播功能

    原生js封裝無縫輪播功能

    這篇文章主要為大家詳細(xì)介紹了原生js封裝無縫輪播功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評(píng)論