无重复随机数
来源:互联网 发布:淘宝v2贷款怎么操作 编辑:程序博客网 时间:2024/05/18 01:51
- /// <summary>
- /// 产生一个随机数或随机数数组(元素无重复)
- /// </summary>
- public class GetRandomInt
- {
- /// <summary>
- /// 产生无重复随机数数组
- /// </summary>
- /// <param name="num">个数,不能小于(最大数-最小数)</param>
- /// <param name="minValue">最小数</param>
- /// <param name="maxValue">最大数</param>
- /// <returns>数组</returns>
- public static int[] GetIntArray(int num, int minValue, int maxValue)
- {
- if (maxValue - minValue >= num)
- {
- int[] arrNum = new int[num];//注意,数组中各元素的初始值是0,当0在取值范围内时要另处理
- for (int i = 0; i < num; i++)
- {
- arrNum[i] = minValue-1;//数组元素的初始值为最小数-1,保证在非取值范围内
- }
- for (int i = 0; i < num; i++)
- {
- int tmp = GetInt(minValue, maxValue);//取出值赋到数组中
- if (Array.IndexOf(arrNum, tmp) < 0)//判断是否存在于数组中,不存在的话元素tmp的索引应为-1
- {
- arrNum[i] = tmp;//如果不存在,添加到数组中
- }
- else
- {
- i = i - 1;//如果存在,跳过,并执行次数减去1,即这次执行不算
- }
- }
- return arrNum;
- }
- else
- {
- return null;
- }
- }
- /// <summary>
- /// 产生随机数
- /// </summary>
- /// <param name="minValue">最小数</param>
- /// <param name="maxValue">最大数</param>
- /// <returns>随机产生的一个数</returns>
- public static int GetInt(int minValue, int maxValue)
- {
- Random ra = new Random(unchecked((int)DateTime.Now.Ticks));
- return ra.Next(minValue, maxValue);
- }
- }
- 无重复随机数
- Matlab 产生无重复随机数
- 生成无重复的随机数
- C#产生无重复随机数
- 生成无重复的随机数
- 生成无重复的随机数
- java 无重复取随机数
- java 无重复取随机数
- 谈谈无重复随机数的产生方法
- 谈谈无重复随机数的产生方法
- 无重复随机数的产生方法
- asp.net 无重复随机数代码
- (例子)无重复随机数生成器
- java中生成无重复随机数的2种方法
- 生成无重复随机数的2种方法
- java生成无重复随机数的2种方法
- java生成无重复随机数的2种方法
- 随机生成自定义数量的无重复的随机数
- U盘不支持热插拔
- 开放的SaaS平台
- 英文字母的大小写转换
- SD2.0大会又一看点:职业论坛上,阿朱PK Leo
- 学习EXT第一天:EXT简介
- 无重复随机数
- 图片二进制数据库的存取和读取...
- uclinux上任天堂游戏模拟器移植
- vista重装系统后,恢复以前安装过的Ubuntu
- 简单:新博客开始使用!
- 从网上收集的一些源代码,电子教程和视频讲座(还有VIP视频哦)
- 个人超级计算机不再是空穴来风—— NVIDIA推出1万美元的4万亿次个人超级计算机
- progress里的IO操作以及和操作系统的交互
- A盘的修复方法