Project1

标题: 请问如何将一个数组的数据随机排序成另一个数组? [打印本页]

作者: wolves    时间: 2014-6-16 18:18
标题: 请问如何将一个数组的数据随机排序成另一个数组?
假如有一个数组
$a=[0,1,2,3,4,5,6,7,8,9,10]
用rand()函数随机取数的方法将之转变为另一种随机排序,求教。。。
作者: myownroc    时间: 2014-6-16 21:50
  1. $a = [0,1,2,3,4,5,6,7,8,9,10]
  2. for i in 0...$a.size
  3.   x = rand($a.size - i) + i
  4.   t = $a[x]
  5.   $a[x] = $a[i]
  6.   $a[i] = t
  7. end
复制代码

作者: fux2    时间: 2014-6-16 22:32
  1. arr = [0,1,2,3,4,5,8,9,6,1,2,45,4]
  2. mi = arr.size
  3. mi.times{a,b=rand(mi),rand(mi);arr[a],arr[b]=arr[b],arr[a]}
  4. p arr
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1