最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS排序之冒泡排序詳解

 更新時間:2017年04月08日 11:58:48   作者:Blue-Beginner  
這篇文章主要為大家詳細(xì)介紹了JS冒泡排序的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文為大家分享了JS冒泡排序的具體代碼,供大家參考,具體內(nèi)容如下

說明

時間復(fù)雜度指的是一個算法執(zhí)行所耗費的時間
空間復(fù)雜度指運行完一個程序所需內(nèi)存的大小
穩(wěn)定指,如果a=b,a在b的前面,排序后a仍然在b的前面
不穩(wěn)定指,如果a=b,a在b的前面,排序后可能會交換位置

--JS冒泡排序--

原理

依次比較相鄰的兩個值,如果后面的比前面的小,則將小的元素排到前面。依照這個規(guī)則進行多次并且遞減的迭代,直到順序正確。

時間復(fù)雜度,空間復(fù)雜度,穩(wěn)定性

  • 平均時間復(fù)雜度O(n*n)
  • 最好情況O(n)
  • 最差情況O(n*n)
  • 空間復(fù)雜度O(1)
  • 穩(wěn)定性:穩(wěn)定

冒泡排序的寫法

var examplearr=[8,94,15,88,55,76,21,39];
function sortarr(arr){
  for(i=0;i<arr.length-1;i++){
    for(j=0;j<arr.length-1-i;j++){
      if(arr[j]>arr[j+1]){
        var temp=arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=temp;
      }
    }
  }
  return arr;
}
sortarr(examplearr);
console.log(examplearr);

解析

兩個循環(huán)

當(dāng)i=0的時候,里面的循環(huán)完整執(zhí)行,從j=0執(zhí)行到j(luò)=6,這也就是第一遍排序,結(jié)果是將最大的數(shù)排到了最后,這一遍循環(huán)結(jié)束后的結(jié)果應(yīng)該是[8,15,88,55,76,21,39,94]

當(dāng)i=1的時候,里面的循環(huán)再次完整執(zhí)行,由于最大的數(shù)已經(jīng)在最后了,沒有必要去比較數(shù)組的最后兩項,這也是j<arr.length-1-i的巧妙之處,結(jié)果是[8,15,55,76,21,39,88,94]

說到這里,規(guī)律就清楚了,每次將剩下數(shù)組里面最大的一個數(shù)排到最后面,當(dāng)?shù)谝粋€循環(huán)執(zhí)行到最后的時候,也就是i=6,此時,j=0,只需要比較數(shù)組的第一和第二項,比較完畢,返回。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js實現(xiàn)定時進度條完成后切換圖片

    js實現(xiàn)定時進度條完成后切換圖片

    這篇文章主要介紹了js實現(xiàn)定時進度條,進度100%以后可以切換圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 微信小程序?qū)崿F(xiàn)登錄注冊界面

    微信小程序?qū)崿F(xiàn)登錄注冊界面

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)登錄注冊界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • js純數(shù)字逐一停止顯示效果的實現(xiàn)代碼

    js純數(shù)字逐一停止顯示效果的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄猨s純數(shù)字逐一停止顯示效果的實現(xiàn)代碼。小編覺得非常不錯?,F(xiàn)在分享給大家。給大家一個參考
    2016-03-03
  • 詳解JavaScript原型與原型鏈

    詳解JavaScript原型與原型鏈

    這篇文章主要介紹了JavaScript原型與原型鏈的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下
    2020-11-11
  • [JS源碼]超長文章自動分頁(客戶端版)

    [JS源碼]超長文章自動分頁(客戶端版)

    [JS源碼]超長文章自動分頁(客戶端版)...
    2007-01-01
  • 微信小程序?qū)崿F(xiàn)上傳圖片的功能

    微信小程序?qū)崿F(xiàn)上傳圖片的功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)上傳圖片的功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JavaScript?自定義對象方法匯總

    JavaScript?自定義對象方法匯總

    這篇文章主要介紹了JavaScript?自定義對象,主要介紹一些方法object創(chuàng)建對象、使用構(gòu)造函數(shù)創(chuàng)建對象、字面量創(chuàng)建對象、等展開話題,具有一定的參考價值,需要的小伙伴可以參考一下
    2021-12-12
  • JavaScript日期和時間的格式化及其它常用處理方法

    JavaScript日期和時間的格式化及其它常用處理方法

    這篇文章主要給大家介紹了關(guān)于JavaScript日期和時間的格式化及其它常用處理方法,JavaScript中可以使用Date對象來表示日期和時間,如果需要格式化日期和時間,可以使用Date對象的幾個方法和一些字符串操作方法來實現(xiàn),需要的朋友可以參考下
    2023-09-09
  • 微信小程序左滑刪除功能開發(fā)案例詳解

    微信小程序左滑刪除功能開發(fā)案例詳解

    這篇文章主要介紹了微信小程序左滑刪除功能開發(fā)案例詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • JavaScript判斷用戶名和密碼不能為空的實現(xiàn)代碼

    JavaScript判斷用戶名和密碼不能為空的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄狫avaScript判斷用戶名和密碼不能為空的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考,一起跟隨小編過來看看吧
    2016-05-05

最新評論

岐山县| 黄山市| 天全县| 渝北区| 高安市| 宜丰县| 京山县| 民权县| 揭东县| 古浪县| 龙江县| 家居| 普洱| 华阴市| 荣昌县| 航空| 额敏县| 福建省| 上高县| 江阴市| 鹿泉市| 抚顺市| 东乡族自治县| 大邑县| 金寨县| 霞浦县| 子洲县| 保康县| 林口县| 景洪市| 民勤县| 鹿邑县| 石泉县| 许昌县| 酒泉市| 栖霞市| 乌兰浩特市| 江达县| 射阳县| 兴国县| 遂溪县|