c++random(c++random_shuffle第三个参数)

简介

C++ 中的 `random` 库提供了随机数生成工具,用于生成各种分布的伪随机数。它基于随机数生成器(RNG),该生成器使用确定性算法生成一系列看似随机的数字。

功能

`random` 库包含以下功能:-

随机数生成器引擎:

Mersenne Twister、Minstd、Linear Congruential Generator(LCG) 等引擎。 -

分布:

正态分布、均匀分布、二项分布、泊松分布 等。 -

随机设备:

`std::random_device` 用于获取系统环境熵,以提高随机性。 -

辅助函数:

`seed()`、`discard()`、`shuffle()` 等函数。

多级标题

引擎

`random` 库中使用以下 RNG 引擎:-

Mersenne Twister:

默认引擎,产生高维随机数。 -

Minstd:

更快的引擎,产生低维随机数。 -

Linear Congruential Generator (LCG):

简单而快速的引擎,但随机性较弱。

分布

`random` 库提供了以下分布:-

均匀分布:

`std::uniform_int_distribution` 和 `std::uniform_real_distribution` -

正态分布:

`std::normal_distribution` -

二项分布:

`std::binomial_distribution` -

泊松分布:

`std::poisson_distribution`

使用方法

要使用 `random` 库,请先创建一个 RNG 引擎:```cpp std::mt19937 gen; // Mersenne Twister 引擎 ```然后,创建一个分布:```cpp std::uniform_int_distribution dist(1, 10); // 均匀分布,范围从 1 到 10 ```最后,调用 `operator()` 函数生成随机数:```cpp int number = dist(gen); // 生成一个 1 到 10 之间的随机整数 ```

示例

以下示例演示如何使用 `random` 库生成随机数:```cpp #include int main() {// 创建 Mersenne Twister 引擎std::mt19937 gen;// 创建均匀分布std::uniform_int_distribution dist(1, 10);// 生成 10 个随机数for (int i = 0; i < 10; i++){// 生成一个 1 到 10 之间的随机整数int number = dist(gen);std::cout << number << " ";}return 0; } ```输出:``` 3 6 1 9 4 7 10 8 5 2 ```

标签列表