文章插图
文章插图
Random类
方法1:数组来保存索引号,先随机生成一个数组位置
//产生不重复的随机数namespace ArrayRandTwo{ class Program {static void Main(string[] args) { int[] a = new int[15]; for (int i = 0; i < a.Length ; i++) a[i] = i; Random r = new Random(); //新的数组result用来保存随机生成的不重复的10个数int[] result = new int[10]; //设置上限 int ulimit = 15;int id; for (int j = 0; j < 10; j++) { id = r.Next(1, ulimit - 1); //在随机位置取出一个数,保存到结果数组result[j] = a[id]; //最后一个数复制到当前位置a[id] = a[ulimit - 1]; //位置的上限减少一ulimit--; } foreach (int k in result) { Console.Write("{0} ", k); } Console.ReadKey(); } }}方法2: 利用Hashtable必须引进空间名:using System.Collections; Hashtable中文称作哈希表,也叫散列表,是根据key和value进行访问存储的数据结构
using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; //Hashtable的命名空间System.Collections,通过using进行引入 。namespace ArrayRandThree{ class Program { static void Main(string[] args) { //实例化Hashtable Hashtable hashtable = new Hashtable(); Random rm = new Random(); int RmNum = 100; for (int i = 0; hashtable.Count < RmNum; i++) { //产生随机数给nValue int nValue = http://www.mnbkw.com/jxjc/169318/rm.Next(100); if (!hashtable.ContainsValue(nValue) && nValue != 0) { ////增加元素nValue hashtable.Add(nValue, nValue); //value的遍历 foreach (int value in hashtable.Values) { Console.WriteLine(value); }}Console.ReadKey(); } } }}方法3:List 类
【随机数生成c++,出现不重复的数 c++生成不重复的随机整数】using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; namespace ArrayRandFour{ class Program { static void Main(string[] args) { List<int> listNum = new List<int>(); Random random = new Random(); //最小随机数 const int Min = 100; //最小随机数 const int Max = 999; //产生多少个随机数,这里是10个 const int Count = 10; for (int i = 0; i < 100; i++) { var num = random.Next(Min, Max); if (!listNum.Contains(num)) { //将产生的随机数num添加到listNum尾部 listNum.Add(num); //判断 达到设定的Count,跳出循环 if (listNum.Count == Count) { break; }} } //遍历 listNum foreach (int k in listNum) { Console.Write("{0} ", k); } Console.ReadKey(); } }}
- 条码自动生成器下载 条码制作器下载安装
- 条形码在线快速生成器 条形码 在线生成
- C++重载和重写的区别 c++重载和重写
- 万能条形码生成器下载 自动生成条形码的软件
- 自动生成条形码的软件 条形码生成器软件
- json卡片代码大全 json卡片代码生成器下载
- 最小生成树prim算法图解 prim算法求最大生成树
- 艺术字在线字体生成器 艺术字体在线生成器软件下载
- 阶乘c语言程序函数调用 阶乘c++语言程序函数
- c++模板类和类模板 C++ 模板类