算法题目4:数组打乱顺序

2020-06-09  本文已影响0人  玲儿珑

(一)Fisher–Yates shuffle 洗牌算法
是最完美乱序的算法/方法之一.

Array.prototype.shuffle = function() {
    var array = this;
    var m = array.length,
        t, i;
    while (m) {
        i = Math.floor(Math.random() * m--);
        t = array[m];
        array[m] = array[i];
        array[i] = t;
    }
    return array;
}

(二) sort
这不是真正意义上的完全乱序

function shuffle(arr) {
  return arr.sort(()=> Math.random() > 0.5);
}

详情参考:https://www.zhihu.com/question/68330851

上一篇 下一篇

猜你喜欢

热点阅读