- 随机数
random_device rd; // 随机数设备,用于生成一个随机数种子
default_random_engine gen(rd()); // 以种子为参数创建默认随机数生成器
uniform_real_distribution<double> urd(0.0, 1.0); // 创建一个均匀分布的随机数分布
double random_num = urd(gen); // 使用生成器生成一个随机数
- 均匀分布随机数
均匀分布随机数是指在指定范围内的任意一个数被选中的概率相等。在C++中,我们可以使用uniform_real_distribution
或uniform_int_distribution
分布来生成均匀分布的随机数。
例如,生成一个0到10之间的均匀分布随机整数:
default_random_engine gen(rd());
uniform_int_distribution<int> uid(0, 10);
int random_int = uid(gen);
- 随机整数
随机整数可以通过randint
函数生成。它的原型如下:
random_device rd;
default_random_engine gen(rd());
uniform_int_distribution<int> uid(a, b);
int random_int = uid(gen);
其中,a
和b
分别表示生成的随机整数的下限和上限,包括a和b。
- 随机序列
随机序列是指在程序中生成一系列随机数的序列。在C++中,我们可以使用vector
容器来存储随机数序列。以下是一个生成一个包含5个随机整数的序列的示例:
default_random_engine gen(rd());
uniform_int_distribution<int> uid(0, 100);
vector<int> random_sequence(5);
generate(random_sequence.begin(), random_sequence.end(), [&](){return uid(gen);});
在上面的代码中,我们使用了generate
函数来生成一个包含5个随机整数的序列。
总结:
C++中的random库为我们生成随机数提供了丰富的函数和算法。通过组合使用随机数生成器、随机数分布和随机数序列,我们可以轻松地在程序中生成各种类型的随机数。希望本篇文章对你了解C++random库的用法有所帮助。