亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Javascript實現的常用算法(如冒泡、快速、鴿巢、奇偶等)

2019-11-20 20:46:36
字體:
來源:轉載
供稿:網友
復制代碼 代碼如下:

l = [6, 2, 4, 1, 98, 34, 5, 9, 23, 8, 10, 32]

       
//冒泡排序
/*function bubbleSort(arr) {
    newarr = arr.slice()
    if (newarr.length <= 2) return newarr
    for (var i = 0; i < newarr.length - 1; i++) {
        for (var j = 0; j < newarr.length - i - 1; j++) {
            if (newarr[j] > newarr[j + 1]) {
                newarr[j] = [newarr[j + 1], newarr[j + 1] = newarr[j]][0]

            }
        }
    }
    return newarr
}

console.log(l)
result = bubbleSort(l)
console.log(result)*/

       
//快速排序
/*function quickSort(arr) {
    if (arr.length <= 1) return arr;
    var left = [],
        right = [],
        middle = [];
    var mid = arr[Math.floor(arr.length / 2)]
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] < mid) {
            left.push(arr[i]);
        } else if (arr[i] > mid) {
            right.push(arr[i]);
        } else {
            middle.push(mid);
        }
    }
    return [].concat(quickSort(left), middle, quickSort(right))

}

var results = quickSort(l)
console.log(results)

       
*/

//選擇排序
/*function selectSort(arr) {
    var min = 9999,
        minindex = 0;
    var left = [],
        right = arr.slice();
    if (arr.length <= 1) return arr;
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] <= min) {
            min = arr[i];
            minindex = i;
        }
    }
    left.push(min);   
    right.splice(minindex, 1);
    return [].concat(left, selectSort(right))
}

       
var results = selectSort(l)
console.log(results)*/

       
//插入排序
/*function insertSort(arr) {
    var tmp;
    for (var i = 1; i < arr.length; i++) {
        tmp = arr[i];
        for (var j = i; j > 0; j--) {
            if (arr[j - 1] > tmp) {
                arr[j] = arr[j - 1];
            } else {
                break;
            }
        }
        arr[j] = tmp;
    }
    return arr;
}

var results = insertSort(l)
console.log(results)*/

//木桶排序
/*function bucketSort(arr){
    var bucket = [];
    var newarr = [];
    for (var i = 0; i < arr.length; i++) {
        bucket[arr[i]] = arr[i];
    }
    for (var i = 0; i < bucket.length; i++) {
        if (bucket[i] !== undefined){
            newarr.push(bucket[i])
        }
    }
    return newarr;
}

var results = bucketSort(l)
console.log(results)*/

//鴿巢排序,非負整數
/*function pigeonholeSort(arr){
    var tempArr = [];
    for(var i=0,l=arr.length;i<l;i++){
        tempArr[arr[i]] = (tempArr[arr[i]]+1)||1 ;
    }

    var result = [],count;
    for(var k=0;k<tempArr.length;k++){
        count = tempArr[k];
        if(count){
            for(var i=0;i<count;i++){
                result.push(k);
            }
        }     
    }

    return result;   
}

var results = pigeonholeSort(l)
console.log(results)*/

//歸并排序
/*function mergeSort(arr) {
    if (arr.length <= 1) return arr;
    var mid = Math.floor(arr.length / 2);
    var left = MergeSort(arr.slice(0, mid));
    var right = MergeSort(arr.slice(mid));
    var result = [];

    while (left.length && right.length) {
        if (left[left.length - 1] <= right[0]) {
            result = result.concat(left);
            left = [];
        } else if (right[right.length - 1] < left[0]) {
            result = result.concat(right);
            right = [];
        } else {
            if (right[0] < left[0]) {
                result.push(right.shift());
            } else {
                result.push(left.shift());
            }
        }
    }
    result = result.concat(left, right);

    return result;
}*/

       

/*function mergeSort(arr) {
    var merge = function(left, right) {
        var result = [];
        while (left.length > 0 && right.length > 0) {
            if (left[0] < right[0]) {
                result.push(left.shift());
            } else {
                result.push(right.shift());
            }
        }
        return result.concat(left).concat(right);
    }

    if (arr.length == 1) return arr;
    var middle = Math.floor(arr.length / 2),
        left = arr.slice(0, middle),
        right = arr.slice(middle);
    return merge(mergeSort(left), mergeSort(right));
}

var results = mergeSort(l)
console.log(results)

*/

       
//堆排序

/*function heapSort(arr) {
    var findRoot = function(arr, p, length) {
        p = p || 0;
        length = length || arr.length;
        var self = arguments.callee;
        var l = p * 2 + 1;
        var r = (p + 1) * 2;
        var left, right;

        if (l < length) left = self(arr, l, length);
        if (r < length) right = self(arr, r, length);
        if (left > arr[p]) arr[p] = [left, arr[l] = arr[p]][0];
        if (right > arr[p]) arr[p] = [right, arr[r] = arr[p]][0];

        return arr[p];
    };

       
    for (var i = arr.length; i > 0; i--) {
        findRoot(arr, 0, i);
        arr[i - 1] = [arr[0], arr[0] = arr[i - 1]][0];
    }
    return arr;
}

var results = heapSort(l)
console.log(results)*/

       

//奇偶排列

/*function oddEvenSort(arr) {
    var swaped = true,
        k = 0;
    while (swaped) {
        if (k > 0) swaped = false;

        for (var i = k; i < arr.length - 1; i += 2) {
            if (arr[i]>arr[i+1]) {
                arr[i] = [ arr[i+1], arr[i+1]=arr[i] ][0];
                swaped = true;
            }
        }
        k = [1, 0][k]
    }
    return arr;
}

var results = oddEvenSort(l)
console.log(results)*/

function oddEvenSort(arr) {
    var swaped = true;
    while (swaped) {
        swaped = false;
        for (var i = 0; i < arr.length; i += 2) {
            if (arr[i] > arr[i + 1]) {
                arr[i] = [arr[i + 1], arr[i + 1] = arr[i]][0];
                swaped = true;
            }
        }
        for (var i = 1; i < arr.length; i += 2) {
            if (arr[i] > arr[i + 1]) {
                arr[i] = [arr[i + 1], arr[i + 1] = arr[i]][0];
                swaped = true;
            }
        }
    }
    return arr;
}

var results = oddEvenSort(l)
console.log(results)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品久久久久a| 97碰在线观看| 欧美激情中文字幕在线| 亚洲国产精品一区二区三区| 清纯唯美日韩制服另类| 欧美成人精品在线视频| 国产精品自产拍高潮在线观看| 日韩在线播放视频| 国产在线观看91精品一区| 久久艳片www.17c.com| 国产精品久久久久久久久免费看| 欧美久久精品一级黑人c片| 欧美黄色片免费观看| 久久久久久久久久久亚洲| 亚洲一级一级97网| 国产精品av免费在线观看| 91亚洲精品在线观看| 午夜精品久久久久久99热| 久久久久久网址| 亚洲精品网址在线观看| 国产性色av一区二区| 亚洲一二三在线| 国产一区二区三区免费视频| 怡红院精品视频| 久久精品久久久久电影| 中文字幕亚洲综合久久筱田步美| 亚洲最大福利视频| 国产在线视频欧美| 97国产精品视频| 久久人人看视频| 久久精品国产亚洲精品2020| 亚洲美女又黄又爽在线观看| 精品久久久久久亚洲精品| 欧美性猛交xxxx久久久| 2019国产精品自在线拍国产不卡| 欧美日韩国产区| 欧美成人自拍视频| 一区二区三区久久精品| 亚洲第一网站免费视频| 欧美黑人xxx| 亚洲激情中文字幕| 国产一区二区三区精品久久久| 26uuu久久噜噜噜噜| 亚洲国产精品久久久久秋霞不卡| 国产成人亚洲综合91| 日韩在线视频观看正片免费网站| 久久久精品电影| 最近2019中文字幕在线高清| 国产视频999| 国产欧美日韩最新| 色综合亚洲精品激情狠狠| 久久久亚洲天堂| 一个人看的www久久| 色中色综合影院手机版在线观看| 亚洲国产精品yw在线观看| 精品久久久久久久久久久久久久| 成人午夜高潮视频| 亚洲美女黄色片| 亚洲精品日韩久久久| 日韩av在线天堂网| 日本一区二区三区四区视频| 国产精品伦子伦免费视频| 欧美日韩国产丝袜美女| 国产亚洲精品va在线观看| 亚洲欧美综合区自拍另类| 亚洲国产精品99久久| 日韩国产一区三区| 欧美国产日韩xxxxx| 欧美在线一区二区三区四| 一区二区在线视频播放| 在线看日韩av| 国产精品久久久久久一区二区| 国产一区欧美二区三区| 亚洲欧美国产va在线影院| 国产精品久久久久久久午夜| 青青草99啪国产免费| 社区色欧美激情 | 精品欧美aⅴ在线网站| 亚洲国产精品专区久久| 久久久久99精品久久久久| 亚洲国产精品人久久电影| 欧美精品免费看| 欧美日本亚洲视频| 国产精品999999| 欧美成人一区在线| 97在线免费视频| 亚洲男人的天堂网站| 久久久久久久久久亚洲| 97视频在线观看免费| 66m—66摸成人免费视频| 亚洲午夜未满十八勿入免费观看全集| 在线免费观看羞羞视频一区二区| 国产精品国产三级国产aⅴ浪潮| 久久伊人精品一区二区三区| 欧美日韩免费网站| 日韩精品在线观看一区二区| 久久精品91久久久久久再现| 久久五月天色综合| 国产成人亚洲综合| 国产精品成人aaaaa网站| 国产精品午夜一区二区欲梦| 97免费视频在线播放| 久久精品视频一| 亚洲福利在线播放| 91精品视频免费| 91国内在线视频| 久久全国免费视频| 91sao在线观看国产| 日韩中文字幕网站| 久久97久久97精品免视看| 51色欧美片视频在线观看| 亚洲国产精品va在线观看黑人| 在线看片第一页欧美| 日韩欧美国产视频| 欧美性猛交xxxx乱大交3| 色偷偷偷综合中文字幕;dd| 欧美影院久久久| 欧美一级电影久久| 韩国精品美女www爽爽爽视频| 久久伊人精品视频| 欧美寡妇偷汉性猛交| 欧美极度另类性三渗透| 国产精品一区二区电影| 日韩精品视频在线观看网址| 欧美丝袜一区二区三区| 97久久国产精品| 国产网站欧美日韩免费精品在线观看| 精品亚洲一区二区三区在线播放| 91成人性视频| 国产美女久久精品香蕉69| 日韩av在线导航| 国产有码在线一区二区视频| 日韩中文字幕在线观看| 免费99精品国产自在在线| 日韩av片免费在线观看| 久久久国产精品x99av| 久久久国产在线视频| 久久久久久久国产精品| 欧美最猛性xxxxx亚洲精品| 97在线观看免费| 中国日韩欧美久久久久久久久| 亚洲欧美制服另类日韩| 97在线精品视频| 亚洲福利视频免费观看| 欧美丰满老妇厨房牲生活| 国产精品女人网站| 九九热99久久久国产盗摄| 国产精品av电影| 国产日韩在线看| 日韩高清免费在线| 热99精品只有里视频精品| 97久久精品视频| 欧美精品videossex88| 这里只有精品丝袜| 中日韩美女免费视频网址在线观看| 中文字幕日韩精品在线观看| 国产精品露脸av在线| 成人夜晚看av| 国产亚洲激情在线| 国产精品直播网红| 国产国语刺激对白av不卡| 欧美又大粗又爽又黄大片视频| 欧美激情第6页| 亚洲精品美女在线观看|