我有一個數組@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