C++:如何生成非重复随机数列表
C++:How to generate a list of non-repeated random number
例如,生成从0到51的非重复随机数列表。0,51]
for(int i = 0;i<52;i++)
{
//print out 0,1,2,3,4,5,6,7,8,....,51.
}
创建一个array
或vector
并随机随机洗牌。
vector<int> v;
for(int i = 0; i < 52; ++i)
v.push_back(i);
std::random_shuffle(v.begin(), v.end()); //need #include <algorithm>
第一个随机数将被v[0]
,你有52个非重复的随机数
看起来您正在尝试洗一副纸牌以进行家庭作业;)
以下是 Python 中的代码,可帮助您入门:
def shuffle(deck):
for i in xrange(len(deck)):
rand_index = random.randint(i, len(deck) - 1)
temp = deck[i]
deck[i] = deck[rand_index]
deck[rand_index] = temp
相关文章:
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 整数不会重复超过随机数
- Pybind11:将元组列表从Python传递到C++
- 从链接列表c++中删除一个项目
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- C++如何通过用户输入删除列表元素
- 读取文件的最后一行并输入到链接列表时出错
- 复制列表初始化的隐式转换的等级是多少
- LNK2038、MSVS2017 MAGMA的原因列表
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 如何在C中检查随机数列表中的元素
- 如何在随机数列表中查找大于或小于的元素
- 如何在C++中创建数字列表,以便它可以选择一个随机数?
- C++:随机数列表:x 个随机整数
- 在伪随机数中使用整个列表
- C++:如何生成非重复随机数列表
- 使用C生成不重复的随机数列表
- 从整数列表中选择一个随机数
- 试图生成整数的随机数组,每次运行得到相同的列表.c++
- 从生成的随机数列表中找出最小和最大的数