首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

向数组中插入200万个随机不重复的数字,该如何处理

2012-05-06 
向数组中插入200万个随机不重复的数字向数组中插入200万个随机不重复的数字,然后输出。。 应该怎么做呢。。?[

向数组中插入200万个随机不重复的数字
向数组中插入200万个随机不重复的数字,然后输出。。 应该怎么做呢。。?

[解决办法]
提供给你个思路。
200万的数组,插入不同的数,每次插入前判断是否重复,是不可能的了。
unsigned int 范围是 0~4294967295,总共4294967296个数字
把他平均分成200万份,每份有2147.45个数字。
就以2147个数字为一份,在每份中随机出一个数字,随机插入到200万个数组中的一个,插满为止
遍历输出。
[解决办法]

C# code
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            Random r = new Random(Guid.NewGuid().GetHashCode());            var result = Enumerable.Range(0, 2500000).Select(x => r.Next()).Distinct().Take(2000000).ToArray();            Console.WriteLine("结果的前1000个:");            for (int i = 0; i < 200; i++)            {                Console.WriteLine(string.Join("\t", result.Skip(i * 5).Take(5).Select(x => x.ToString().PadLeft(10, ' '))));            }        }    }} 

热点排行