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

資訊專欄INFORMATION COLUMN

用JS實(shí)現(xiàn)的常見幾種排序算法

lncwwn / 2058人閱讀

1.快速排序法
        function quickSort(a) {
                if (a.length <= 1) {
                        return a;
                }
                var midLength = Math.floor(a.length / 2);
                var midValue = a.splice(midLength,1);
                var left = [];
                var right = [];
                for (var i = 0; i < a.length; i++) {
                        if (a[i] < midValue) {
                                left.push(a[i]);
                        } else {
                                right.push(a[i]);
                        }
                }
                return quickSort(left).concat(midValue,quickSort(right));
        }
        console.log(quickSort([1,5,3,6,2,4,0]));
2 .冒泡排序
        function bubbleSort(a) {
                var length = a.length;
                var sortArray;
                for (var i = 0; i < length-1; i++) {
                        for (var j = 0; j < length-i-1 ; j++) {
                                if (a[j] > a[j+1]) {
                                        sortArray = a[j];
                                        a[j] = a[j+1];
                                        a[j+1] = sortArray;
                                }
                        }
                }
                return a;
        }
        console.log(bubbleSort([2,1,3,6,5,4,7,0]));
3.插入排序
        function insertSort(a) {
                var length = a.length;
                var sortArray;
                for (var i = 1; i < length; i++) {
                        for (var j = 0; j < i ; j++) {
                                if (a[i] < a[j]) {
                                        sortArray = a[i];
                                        a[i] = a[j];
                                        a[j] = sortArray;
                                }
                        }
                }
                return a;
        }
        console.log(insertSort([0,6,5,3,4,2,1,7]));
4.選擇排序
        function selectSort(a) {
                for (var i = 0; i < a.length; i++) {
                        var min = a[i];
                        var k = i;
                        for (var j = i + 1; j < a.length; j++) {
                                if (min > a[j]) {
                                        min = a[j];
                                        k = j;
                                }
                        }
                        a[k] = a[i];
                        a[i] = min;
                }
                return a;
        }
        console.log(selectSort([5,1,4,0,3,2,7,6]));

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

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

相關(guān)文章

  • JS數(shù)據(jù)結(jié)構(gòu)與算法_排序和搜索算法

    摘要:上一篇數(shù)據(jù)結(jié)構(gòu)與算法樹寫在前面這是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的最后一篇博客,也是在面試中常常會(huì)被問(wèn)到的一部分內(nèi)容排序和搜索。 上一篇:JS數(shù)據(jù)結(jié)構(gòu)與算法_樹 寫在前面 這是《學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法》的最后一篇博客,也是在面試中常常會(huì)被問(wèn)到的一部分內(nèi)容:排序和搜索。在這篇博客之前,我每每看到排序頭就是大的,心里想著類似冒泡排序,兩層遍歷啪啪啪就完事了,然后再也無(wú)心去深入研究排序相...

    姘擱『 評(píng)論0 收藏0
  • 幾種常見排序算法

    摘要:本文介紹幾種常見排序算法選擇排序,插入排序,希爾排序,歸并排序,快速排序,堆排序,對(duì)算法的思路性質(zhì)特點(diǎn)具體步驟實(shí)現(xiàn)以及圖解進(jìn)行了全面的說(shuō)明。最后對(duì)幾種排序算法進(jìn)行了比較和總結(jié)。 本文介紹幾種常見排序算法(選擇排序,插入排序,希爾排序,歸并排序,快速排序,堆排序),對(duì)算法的思路、性質(zhì)、特點(diǎn)、具體步驟、java實(shí)現(xiàn)以及trace圖解進(jìn)行了全面的說(shuō)明。最后對(duì)幾種排序算法進(jìn)行了比較和總結(jié)。 寫...

    ChristmasBoy 評(píng)論0 收藏0
  • 初級(jí)前端開發(fā)面試總結(jié)

    摘要:前端面試總結(jié)先說(shuō)背景,本人年月畢業(yè),去年十月校招到今年月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含基礎(chǔ),基礎(chǔ),常見算法和數(shù)據(jù)結(jié)構(gòu),框架,計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)知識(shí),可能有的點(diǎn)很細(xì),有的點(diǎn)很大,參考個(gè)人情況進(jìn)行總結(jié),方便對(duì)知識(shí) 前端面試總結(jié) 先說(shuō)背景,本人2018年7月畢業(yè),去年十月校招到今年10月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含: ...

    jifei 評(píng)論0 收藏0
  • 初級(jí)前端開發(fā)面試總結(jié)

    摘要:前端面試總結(jié)先說(shuō)背景,本人年月畢業(yè),去年十月校招到今年月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含基礎(chǔ),基礎(chǔ),常見算法和數(shù)據(jù)結(jié)構(gòu),框架,計(jì)算機(jī)網(wǎng)絡(luò)相關(guān)知識(shí),可能有的點(diǎn)很細(xì),有的點(diǎn)很大,參考個(gè)人情況進(jìn)行總結(jié),方便對(duì)知識(shí) 前端面試總結(jié) 先說(shuō)背景,本人2018年7月畢業(yè),去年十月校招到今年10月一直在做前端開發(fā)工作,年前打算換工作,就重新梳理下面試考點(diǎn)總結(jié)包含: ...

    tigerZH 評(píng)論0 收藏0
  • 前端面試題總結(jié)

    摘要:工作中總結(jié)的一些比較重要的前端技能,覺(jué)得在面試中比較合適提問(wèn),即能查看出面試者的技術(shù)功底,又能考察其知識(shí)體系的廣度。異步編程的考察,其關(guān)鍵字的使用,與的關(guān)系,同時(shí)可以深入考察總共有幾種異步編程的方式。 工作中總結(jié)的一些比較重要的前端技能,覺(jué)得在面試中比較合適提問(wèn),即能查看出面試者的技術(shù)功底,又能考察其知識(shí)體系的廣度。適用于應(yīng)屆生和工作年限兩年下的同學(xué),掌握下面的知識(shí)基本滿足工作需求了。...

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

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

0條評(píng)論

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