【发布时间】:2014-01-11 03:42:35
【问题描述】:
我正在尝试创建一个生成没有重复值的随机数组的东西。我已经看过其他答案,但似乎没有一个可以帮助我理解。我想不出一种方法来实际生成不包含重复项的随机数。这是我迄今为止尝试过的:
srand(time(NULL));
int numbers [4];
for (int x=0; x!=4;x++)
{
numbers[x] = 1 + (rand() % 4) ;
printf("%d ", numbers[x]);
}
任何帮助将不胜感激。
【问题讨论】:
-
使用
std::set并使用来自<random>的适当分布。 -
“随机”是什么意思,就像任何可能的整数一样?一个洗牌的数组?
-
现在是什么,随机的,还是没有重复的序列?
-
仅供参考,duplicates 的存在并不意味着您的数组没有 random 数字。