第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

javascript排序法(基礎(chǔ)篇)

標(biāo)簽:
JavaScript

javascript中实现的排序方法,分为两部分:基础排序方法和高级排序方法,这篇文章讲的是基础排序方法。
基础排序方法有三种:
1.冒泡排序
2.选择排序
3.插入排序
我会一次讲解每一个排序,并给出相应的实现代码,最后还有三个排序的的性能比较。写作这篇文章主要是希望大家能明白js中排序的原理,一遍实现适合自己的排序方法。

冒泡排序:数据会像气泡一样从数组的一端漂到另一端,这是javascript中最容易实现的排序方法。

选择排序:从数组的开头开始,将第一个元素与其他元素进行比较。检查完所有元素后,最小元素会被放到数组的第一个位置,然后算法会从第二个位置开始,当进行到倒数第二个位置时,排序结束。

插入排序:类似于人类按数字或字母顺序对数据进行排序。插入排序有两个循环,外循环将数组元素挨个移动,而内循环对外循环选中的元素及他后面的那个元素进行比较。如果外循环选中元素比内循环中选中元素小,那么数组元素会向右移动,为内循环中这个元素腾出位置。

以下是各种排序方法实现的代码:

/**

  • Created by MAORUIBIN on 2016-03-17.
    */
    //冒泡排序
    (function(window) {
    var win = window;

    function bubbleSort(arr) {
    for(var j = arr.length - 1; j > 0; j--){
    for (var i = 0; i < j; ++i) {
    if (arr[i] > arr[i + 1]) {
    var temp = arr[i];
    arr[i] = arr[i + 1];
    arr[i + 1] = temp;
    }
    }
    }
    return arr;
    }

    //选择排序
    function selectionSort(arr) {
    var min, temp,mark;
    for (var i = 0, len = arr.length - 1; i < len; ++i) {
    min = i;
    for (var j = i + 1; j <= len; ++j) {
    if (arr[j] < arr[min]) {
    min = j;
    }
    }
    temp = arr[i];
    arr[i] = arr[min];
    arr[min] = temp;
    }
    return arr;
    }

    //插入排序
    function insertSort(arr) {
    var temp, i, j;
    for (i = 1; i < arr.length; ++i) {
    j = i;
    temp = arr[i];
    while (j > 0 && arr[j - 1] >= temp) {
    arr[j] = arr[j - 1];
    --j;
    }
    arr[j] = temp;
    }
    return arr;
    }

    win.bubbleSort = bubbleSort;
    win.selectionSort = selectionSort;
    win.insertSort = insertSort;
    })(window)

经过测试,冒泡排序最慢,其次选择排序,插入排序最快。
如果你有什么问题,可以留言我会及时回复。下一篇javascript排序法(高级篇)。

點(diǎn)擊查看更多內(nèi)容
5人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消