我想创建一个0-9的数字数组,并希望它们随机化
意思是,当用户点击UIButton时,它会创建一个对象的NSMutableArray 4,5,8,3,6,2,9,1,7,0
当用户再次点击该按钮时,它会生成另一个0-9随机数的列表,依此类推。
我遇到的问题是arc4random例程。该例程将一次吐出0-9之间的随机数。我必须保存它吐出的数字并将其存储到数组中。然后我将检查它吐出的下一个随机数是否已经在数组中,如果没有,则将其添加到数组中,否则保持循环直到找到不在我的数组中的数字。继续这种疯狂,直到我的阵列大小为10.
对于0-9的小阵列来说,这一切都很好。如果我需要创建一个0到1000之间的随机数组怎么办。
我正在寻找的是一种不需要5年才能完成的有效方法。有什么想法吗?
答案 0 :(得分:3)
根据这个SO答案whats-the-best-way-to-shuffle-an-nsmutablearray,只需在可变数组中创建数字列表0..9,(或0..1000,无论如何),然后随机随机播放它们。
答案 1 :(得分:0)
您可能想要使用Random和Linq
Random random = new Random(0);
var myRandom = Enumerable.Repeat(0, n).Select(i => random.Next(0, 9));
其中n是您想要的位数
希望有所帮助