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
示例
以下示例演示如何使用 `random` 库生成随机数:```cpp
#include