我有一个数组@number = [1,2,3,4,5,6,7,8,9]
现在,我想随机数组内容......像如:[5,3,2,6,7,1,8]
请指导我如何与它进行。随机化数组元素
随机化数组元素
回答
使用shuffle
方法...
irb(main):001:0> [1,2,3,4,5].shuffle
=> [3, 4, 2, 5, 1]
loop n times
i = random array index
j = random array index
swap elements i and j
end
随机不保证给出正确分布的结果。 因此,使用两个随机索引交换元素可能会使您的数组中间有未更改序列的数组。您应该将i从0递增到n并采用随机j来确保* all *元素至少交换一次。 – 2010-09-29 04:45:58
很糟糕。偶数和奇数“n”给出了两组不同的排列组合。这很伤心,但仍然有一些老师教这个方法的学生......永远不要这样做! – Nakilon 2010-09-29 04:54:41
@Nakilon:你在说什么?如果n是偶数或奇数,为什么它很重要? – RyanHennig 2010-09-29 17:37:18
的shuffle
命令返回数组的随机版本
如:
[1,2,3].shuffle => [2,3,1]
适用于1.8.7p249 – 2010-09-29 04:45:35
如果你想随机放置,你可以直接写'@ number.shuffle!' – Peter 2010-09-29 05:08:36
[1,2,3,4,5,6,7,8,9].sort_by {rand}[0,9]
=> [5, 7, 3, 8, 9, 4, 2, 1, 6]
适合1.8.6 :)但现在已过时! – horseyguy 2010-09-29 14:50:45
- 1. 随机化我的数组元素
- 2. 随机化数组中的元素?
- 3. 随机数组元素
- 4. Javascript数组随机化元素到选定的元素
- 5. 在java中随机化一组元素
- 6. 随机/随机化一组带有两个子元素的div
- 7. 用PHP随机输出数组元素
- 8. 重复随机数组元素
- 9. 数组中的随机元素
- 10. 数组操作 - 随机选择元素
- 11. 如何打印随机数组元素?
- 12. 随机化的一些元素的数组内
- 13. 随机元素
- 14. 从数组的特定元素中选择随机元素
- 15. 随机化HTML5画布元素
- 16. 使用Angular随机化DOM元素
- 17. 随机化元素位置到阵列
- 18. 如何随机化枚举元素?
- 19. 随机化一个数组
- 20. 随机化/修改数组
- 21. 从关联数组中选取一个随机数组元素
- 22. 字典元素的随机分组
- 23. F#一组随机元素<string>
- 24. 随机选取一组元素在Python
- 25. 组的随机化
- 26. 如何用随机数从crypto.getRandomValues中随机化数组?
- 27. 数组中int元素的随机整数
- 28. 在数组中生成随机整数元素
- 29. 随机数,范围是数组的元素
- 30. 如何高效地随机化索引之间的多个数组元素?
重复http://stackoverflow.com/questions/1816378/how-to-random-sort-scramble-an-array-in-ruby – Nakilon 2010-09-29 04:47:54
您的正视功能从数组中删除了2个元素。即使'shuffle'也不能这样做,gg! – Nakilon 2010-09-29 05:00:23