国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端之多種排序方式

ShevaKuilin / 2995人閱讀

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

前言

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

冒泡排序

算法描述:

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

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

動圖演示:

代碼實現(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]) {        // 相鄰元素兩兩對比   
                var temp = arr[j+1];        // 元素交換   
                arr[j+1] = arr[j];   
                arr[j] = temp;   
            }   
        }   
    }   
    return arr;   
}
選擇排序

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

動圖演示:

代碼實現(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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/110034.html

相關(guān)文章

  • 后端知識- 收藏集 - 掘金

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

    Youngdze 評論0 收藏0
  • 后端知識- 收藏集 - 掘金

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

    scola666 評論0 收藏0
  • JavaScript專題系列文章

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

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

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

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

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

    keke 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<