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

資訊專欄INFORMATION COLUMN

JavaScript數(shù)組隨機(jī)排序

tianhang / 1393人閱讀

摘要:不斷從原數(shù)組中隨機(jī)取一個元素放進(jìn)新數(shù)組,同時刪除原數(shù)組中該值,遞歸重復(fù)至全部取出。相當(dāng)于遞歸退出

//不斷從原數(shù)組中隨機(jī)取一個元素放進(jìn)新數(shù)組,同時刪除原數(shù)組中該值,遞歸重復(fù)至全部取出。

function randomSort(arr, newArr) {
    var newArr = newArr || []
    if (arr.length == 1) {
        newArr.push(arr[0])
        return newArr; // 相當(dāng)于遞歸退出
    }
 
    var random = Math.ceil(Math.random() * arr.length) - 1
    newArr.push(arr[random])
    arr.splice(random, 1)
    return randomSort(arr, newArr)
}
randomSort([1, 2, 3, 4, 5, 6, 7]); //[2, 3, 1, 5, 6, 7, 4]
randomSort([1, 2, 3, 4, 5, 6, 7]); //[3, 4, 2, 5, 1, 6, 7]

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

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

相關(guān)文章

  • JavaScript專題之亂序

    摘要:源碼地址為了簡化篇幅,我們對這個數(shù)組進(jìn)行分析,數(shù)組長度為,此時采用的是插入排序。插入排序的源碼是其原理在于將第一個元素視為有序序列,遍歷數(shù)組,將之后的元素依次插入這個構(gòu)建的有序序列中。 JavaScript 專題系列第十九篇,講解數(shù)組亂序,重點(diǎn)探究 Math.random() 為什么不能真正的亂序? 亂序 亂序的意思就是將數(shù)組打亂。 嗯,沒有了,直接看代碼吧。 Math.random ...

    I_Am 評論0 收藏0
  • JavaScript算法題之–隨機(jī)數(shù)的生成

    摘要:準(zhǔn)備面試,多看點(diǎn)題。來自雨夜帶刀需求描述從一組有序的數(shù)據(jù)中生成一組隨機(jī)并且不重復(fù)的數(shù),類似于簡單的抽獎程序的實(shí)現(xiàn)。 (準(zhǔn)備面試,多看點(diǎn)題。來自雨夜帶刀s Blog) 需求描述:從一組有序的數(shù)據(jù)中生成一組隨機(jī)并且不重復(fù)的數(shù),類似于簡單的抽獎程序的實(shí)現(xiàn)。 先來生成一個有序的數(shù)組: var arr = [], length = 100, i = 0; for( ; i < length;...

    tigerZH 評論0 收藏0
  • 數(shù)組隨機(jī)排序:洗牌算法(Fisher–Yates shuffle)

    摘要:代碼實(shí)現(xiàn)代碼一測試用例輸出其中,代碼二測試用例輸出其中,參考資料洗牌算法學(xué)習(xí)筆記數(shù)組隨機(jī)排序洗牌算法給數(shù)組隨機(jī)排序洗牌算法原理 原理及步驟 1.定義一個數(shù)組(shuffled),長度(length)是原數(shù)組(arr)長度2.取 0 到 index (初始0) 隨機(jī)值 rand, shuffled[index] = shuffled[rand], shuffled[rand] = arr...

    張金寶 評論0 收藏0
  • 學(xué)習(xí)筆記: JS數(shù)組

    摘要:數(shù)組元素甚至可以是對象或其它數(shù)組。它執(zhí)行的是淺拷貝,這意味著如果數(shù)組元素是對象,兩個數(shù)組都指向相同的對象,對新數(shù)組中的對象修改,會在舊的數(shù)組的相同對象中反應(yīng)出來。 JS中的數(shù)組是弱類型的,數(shù)組中可以含有不同類型的元素。數(shù)組元素甚至可以是對象或其它數(shù)組。JS引擎一般會優(yōu)化數(shù)組,按索引訪問數(shù)組常常比訪問一般對象屬性明顯迅速。數(shù)組長度范圍 from 0 to 4,294,967,295(2^...

    archieyang 評論0 收藏0
  • JavaScript各種排序算法的實(shí)現(xiàn)及其速度性能分析

    摘要:今天我們來討論的問題有兩個如何用實(shí)現(xiàn)選擇排序冒泡排序插入排序快速排序歸并排序堆排序?qū)ι傻娜f個隨機(jī)數(shù)進(jìn)行排序,各個排序算法的性能分析??焖倥判蚩焖倥判蛩惴ɑ旧鲜敲嬖嚤乜寂判蛩惴?,也是傳聞最好用的算法。 今天我們來討論的問題有兩個: 如何用JavaScript實(shí)現(xiàn)選擇排序、冒泡排序、插入排序、快速排序、歸并排序、堆排序; 對生成的10萬個隨機(jī)數(shù)進(jìn)行排序,各個排序算法的性能分析。 創(chuàng)...

    yuanxin 評論0 收藏0

發(fā)表評論

0條評論

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