成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端之多種排序方式

ShevaKuilin / 3001人閱讀

摘要:前言排序是編程中很基礎(chǔ)卻很有學(xué)問的算法。常見的內(nèi)部排序算法有插入排序希爾排序選擇排序冒泡排序歸并排序快速排序堆排序基數(shù)排序等。本文主要闡述前端面試中最常問的三種排序冒泡排序選擇排序,其他排序方法詳情點(diǎn)我。冒泡排序算法描述比較相鄰的元素。

前言

排序是編程中很基礎(chǔ)卻很有學(xué)問的算法。常見的內(nèi)部排序算法有:插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數(shù)排序等。本文主要闡述前端面試中最常問的三種排序:冒泡排序、選擇排序,其他排序方法詳情點(diǎn)我。
*本文參考鏈接點(diǎn)我。

冒泡排序

算法描述:

比較相鄰的元素。如果前一個(gè)比后一個(gè)大,就交換他們兩個(gè),這樣循環(huán)到最后,最后一位數(shù)將是最大的數(shù)。

最后一個(gè)數(shù)確定了后不再進(jìn)行比較,重復(fù)步驟1,不斷確定新一輪最大的數(shù)值后將其固定不比較,最后所有數(shù)據(jù)比較完則完成排序。

動(dòng)圖演示:

代碼實(shí)現(xiàn):

function bubbleSort(arr) {   
    for (var i = 0; i < arr.length - 1; i++) {   
        for (var j = 0; j < arr.length - 1 - i; j++) {   
            if (arr[j] > arr[j+1]) {        // 相鄰元素兩兩對(duì)比   
                var temp = arr[j+1];        // 元素交換   
                arr[j+1] = arr[j];   
                arr[j] = temp;   
            }   
        }   
    }   
    return arr;   
}
選擇排序

算法描述:每次都找一個(gè)最大或者最小的排在開始即可。例如,你想從小到大排列,就找出最大的放第一位,通過循環(huán)不斷找出當(dāng)時(shí)最大值并插入第一位,最后就會(huì)從小到大排列了。

動(dòng)圖演示:

代碼實(shí)現(xiàn):

function selectionSort(arr) {      
    var minIndex, temp;                                               
    for (var i = 0; i < arr.length - 1; i++) {   
        minIndex = i;   
        for (var j = i + 1; j < arr.length ; j++) {   
            if (arr[j] < arr[minIndex]) {     // 尋找最小的數(shù)   
                minIndex = j;                 // 將最小數(shù)的索引保存   
            }   
        }   
        temp = arr[i];   
        arr[i] = arr[minIndex];   
        arr[minIndex] = temp;   
    }   
    return arr;   
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/110034.html

相關(guān)文章

  • 后端知識(shí)- 收藏集 - 掘金

    摘要:常見的八大排序算法,他們之間關(guān)系如下被人忽視的面向?qū)ο蟮牧笤瓌t后端掘金前言作為文集的第一篇,我覺得有必要介紹一下大概的寫作規(guī)劃。 Java多線程干貨系列—(四)volatile關(guān)鍵字| 掘金技術(shù)征文 - 掘金原本地址:Java多線程干貨系列—(四)volatile關(guān)鍵字博客地址:http://tengj.top/ 前言 今天介紹下volatile關(guān)鍵字,volatile這個(gè)關(guān)鍵字可能...

    Youngdze 評(píng)論0 收藏0
  • 后端知識(shí)- 收藏集 - 掘金

    摘要:常見的八大排序算法,他們之間關(guān)系如下被人忽視的面向?qū)ο蟮牧笤瓌t后端掘金前言作為文集的第一篇,我覺得有必要介紹一下大概的寫作規(guī)劃。 Java多線程干貨系列—(四)volatile關(guān)鍵字| 掘金技術(shù)征文 - 掘金原本地址:Java多線程干貨系列—(四)volatile關(guān)鍵字博客地址:http://tengj.top/ 前言 今天介紹下volatile關(guān)鍵字,volatile這個(gè)關(guān)鍵字可能...

    scola666 評(píng)論0 收藏0
  • JavaScript專題系列文章

    摘要:專題系列共計(jì)篇,主要研究日常開發(fā)中一些功能點(diǎn)的實(shí)現(xiàn),比如防抖節(jié)流去重類型判斷拷貝最值扁平柯里遞歸亂序排序等,特點(diǎn)是研究專題之函數(shù)組合專題系列第十六篇,講解函數(shù)組合,并且使用柯里化和函數(shù)組合實(shí)現(xiàn)模式需求我們需要寫一個(gè)函數(shù),輸入,返回。 JavaScript 專題之從零實(shí)現(xiàn) jQuery 的 extend JavaScritp 專題系列第七篇,講解如何從零實(shí)現(xiàn)一個(gè) jQuery 的 ext...

    Maxiye 評(píng)論0 收藏0
  • CSS學(xué)習(xí)筆記(十六) CSS最佳實(shí)踐可維護(hù)性篇

    摘要:國內(nèi)各大公司都已經(jīng)投入使用,在一些常見的網(wǎng)站,如淘寶騰訊小米等移動(dòng)站點(diǎn),隨處可見其蹤影。變革之騰訊手機(jī)淘寶的設(shè)計(jì)與實(shí)現(xiàn)前端亂燉適配總結(jié)樣式重置上文已提及,這里推薦閱讀同學(xué)寫的專題文章。 前言 CSS代碼難維護(hù)眾所皆知。 為一個(gè)元素設(shè)置樣式的方式可以通過定義的class、定義的id、元素的標(biāo)簽名、元素的屬性等選擇器以及這些選擇器的組合來實(shí)現(xiàn); 作用于某個(gè)元素上的樣式又可能來自單個(gè)樣式規(guī)...

    newtrek 評(píng)論0 收藏0
  • CSS學(xué)習(xí)筆記(十六) CSS最佳實(shí)踐可維護(hù)性篇

    摘要:國內(nèi)各大公司都已經(jīng)投入使用,在一些常見的網(wǎng)站,如淘寶騰訊小米等移動(dòng)站點(diǎn),隨處可見其蹤影。變革之騰訊手機(jī)淘寶的設(shè)計(jì)與實(shí)現(xiàn)前端亂燉適配總結(jié)樣式重置上文已提及,這里推薦閱讀同學(xué)寫的專題文章。 前言 CSS代碼難維護(hù)眾所皆知。 為一個(gè)元素設(shè)置樣式的方式可以通過定義的class、定義的id、元素的標(biāo)簽名、元素的屬性等選擇器以及這些選擇器的組合來實(shí)現(xiàn); 作用于某個(gè)元素上的樣式又可能來自單個(gè)樣式規(guī)...

    keke 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<