请有人为我做这件事。
编写一个函数,该函数以随机顺序返回包含值为1到1000的1000个元素的整数数组。没有数字可以重复或省略。
以下是解决上述问题的提示:使用Random rnd=new Random()
创建随机数生成器的新实例,使用rnd.Next(1,1000)
获取1到1000之间的随机整数值。
非常感谢。
答案 0 :(得分:3)
我怀疑你的考官可能正在寻找Fisher-Yates Shuffle,所以下面的答案可能过于简洁了。
Random r = new Random();
public int[] GetArr()
{
return Enumerable.Range(1, 1000).OrderBy(_ => r.Next()).ToArray();
}
答案 1 :(得分:-1)
唯一的问题是它会在结尾处急剧减速
答案 2 :(得分:-2)
您可能想要尝试创建包含int和bool的类,bool可以是“isused”,然后int可以是索引,然后使用随机数生成器,获取与之关联的数字输出,然后检查你的类的数组是否正在使用该数字,如果没有,则将其推入一个int列表,然后一旦完成将列表作为数组返回?