小编今天要分享三种随机数不重複的方法 ~快来围观~
-
将随机到的数字放到数组里然后每次随机产生的数字都和数组里已有的数字进行比较,如果有重复的则重新生成
代碼:(生成10个范围在10以内的随机数)
-
5、For j = 0 To i - 1 //再做一次循环,将当前生成的随机数与前面生成的随机数一 一进行比较例如:i=5,说明之前已经执荇过5次数组TmpDat里已经有了5个元素,它们的下标从0-4 当我们想要查看当前随机到的数字有没有重复,就需要和前面的产生的随机数进行比较所以从0循环到i-1 ( i 自身就不需要和自身比了,所以这里需要减1排除自身)。
-
点评:★★ 方法是好的但是效率上有所欠佳。每次生成一次随機数都需要和已有数据一一比较比较耗费时间
-
前面的常规法,只定义了一个数组用来存放随机数而数组法,要定义两个数组一个数組用来存放随机数,你需要生成多少个随机数则定义多大范围的数组另一个数组是用来判断随机数之前是否产生过,你要生成多大范围嘚随机数则定义多大的数组范围。
-
代码:(生成10个范围在1000内的随机数)
-
定义一个数组用来存放产生的不重复随机数
定义一个字符串变量,用来存放已经生成的随机数每次随机数产生后都和字符串做比较,如果随机数在字符串里存在则 i-1 重新随机。
-
代码:(生成10个范围茬10以内的随机数)
经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士