我当时正在做一个益智游戏,我想生成一个在一些限制之间的随机数列表。
我已经使用过rand和srand函数,但它也为我提供了重复值。我想生成一个没有重复的随机列表,我该怎么做?
最佳答案
通常的方法是这样的:
populate an array source_array of size <n> with numbers from 0 to n-1
while n > 0
use rand to generate a random number x in the range 0..n-1
add source_array[x] to the result list
source_array[x] = source_array[n-1]; // replace number just used with last value
--n; // next time, one less number
关于c++ - 使用C生成不重复的随机数列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8930401/