JavaScript数据结构与算法(随机算法)

编程 · 2023-08-31 · 181 人浏览

随机算法

将一个数组中的值进行随机排列,现实中的一个常见场景是洗扑克牌。

function shuffle(array) {
  for (let i = array.length - 1; i > 0; i--) {
    const randomIndex = Math.floor(Math.random() * (i + 1))
    swap(array, i, randomIndex)
  }

  return array
}

function swap(array, a, b) {
  const temp = array[a]
  array[a] = array[b]
  array[b] = temp
}

arr = [1, 2, 3, 4, 5]
console.log(...arr)
console.log(shuffle(arr))
JavaScript 算法
Theme Jasmine by Kent Liao