我目前正在尝试用 1-16 之间的 16 个值填充一个 2D 数组。我想用不重复的随机值填充数组。
例如,如果我有一个数组 int array[4][4]
我将如何通过循环填充数组,同时检查以确保没有放置另一个相同的随机值到数组中的另一个位置?
最佳答案
int array[4][4];
int* p = &array[0][0];
std::iota(p, p+16, 1);
std::random_device r;
std::default_random_engine g(r());
std::shuffle(p, p+16, g);
关于c++ - 用不重复的随机数填充二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42060459/