随机数生成不重复的一组数(类似于抓阄)
来源:互联网 发布:电气画图用什么软件 编辑:程序博客网 时间:2024/06/02 13:07
1.思想:生成0到99这一百个随机数为例。先用个长度为100数组,值是对应的索引编号。然后把随机数生成函数的上限设置成100(即100以下的随机数)。生成的随机数当作数组的索引值,把这个索引值对应的值和数组的最后一位交换。这样第一个随机数就产生了并且存放在数组的最后一位中。在然后把随机数生成函数的上限值设置成99(即99一下的随机数),又得到一个随机数,再当作数组的索引值和数组的倒数第二位的值交换。这样就得到第二个随机数并存在数组的倒数第二位。
2.例子:a.假如数组arr,第一次产生的随机数是50
b.arr[50]和arr[99]交换值,arr[50]值为99,arr[99]值为50;
c.加入第二次随机数是60
d.则arr[60]和arr[98]交换值,即arr[60]值为98,arr[98]值为60;
e.如此循环下去。
3.C#代码:
for (int i = 0; i < 100;i++ )
{
numbers[i] = i;
}
Random rd = new Random();
int iup = numbers.Count();
for (int i = 0; i < 99; i++)
{
int result = rd.Next(iup);
int temp;
temp = numbers[result];
numbers[result] = numbers[iup - 1];
numbers[iup - 1] = temp;
iup--;
}
- 随机数生成不重复的一组数(类似于抓阄)
- JS 生成一组不重复的随机数
- java 生成一组不重复的随机数
- java 生成一组不同的随机数(不重复)
- 生成一组不重复随机数
- scala随机数生成,生成一组不重复随机数算法
- c产生一组不重复的随机数
- 产生一组不重复的随机数
- java 产生一组不重复的随机数
- 高效产生一组不重复的随机数
- java 产生一组不重复的随机数
- 生成不重复的随机数
- 生成不重复的随机数
- 生成不重复的随机数
- 生成不重复的随机数
- 生成不重复的随机数
- 生成不重复的随机数
- 生成不重复的随机数
- Qt 之 QAction
- 几种cell动画
- 教师寝室内被乡政府职工杀死
- txt 转换为 xml
- Protocol Buffers 中实现ZeroCopyStream 来减少内存拷贝
- 随机数生成不重复的一组数(类似于抓阄)
- 苏女研究生捂死5个月大女儿
- 新人不懂怎么下手?传说中的前端流程呐~~~
- oracle 11g完美导出到oracle10g
- 阿的份上噶的风格啊电饭锅
- 技术达人,别成为自己讨厌的那种人
- C#对excel的基本操作方法
- 关于CSS3 中的box-sizing
- 成功八条——TED