您的位置:首页 > 其它

生成不重复随机数

2010-03-04 22:41 344 查看
有一次需要生成N序列的不重复数字,最直观的理解就是不断生成一个小于N的随机数S,然后放入一个int
中:

1.当S不存在于int
中时,将S添加到int
中。

2.否则,重新生成S。

       Random random = new Random();
int[] mat = new int[num];
int i, p=0, tmp=0;
for(i=0;i<num;i++)
mat[i] = i;
for (i = num-1; i >= 0;i-- )
{
p = random.Next(0, i);
tmp = mat[p];
mat[p] = mat[i];
mat[i] = tmp;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: