返回一个整数数组的函数,其中包含1000个以随机顺序包含值1到1000的元素

时间:2013-04-12 10:13:10

标签: c# .net

请有人为我做这件事。

编写一个函数,该函数以随机顺序返回包含值为1到1000的1000个元素的整数数组。没有数字可以重复或省略。

以下是解决上述问题的提示:使用Random rnd=new Random()创建随机数生成器的新实例,使用rnd.Next(1,1000)获取1到1000之间的随机整数值。

非常感谢。

3 个答案:

答案 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列表,然后一旦完成将列表作为数组返回?