如何自定义random_shuffle的随机数生成器

avatar
作者
筋斗云
阅读量:0

random_shuffle 是 C++98 中的一个函数,用于对序列进行随机排序

以下是一个使用 C++11 和 std::shuffle 的示例:

#include<iostream> #include<vector> #include<random> #include<algorithm>  int main() {     std::vector<int> v = {1, 2, 3, 4, 5};          // 创建一个随机数生成器     std::random_device rd;     std::mt19937 g(rd());      // 使用自定义随机数生成器对向量进行随机排序     std::shuffle(v.begin(), v.end(), g);      for (int i : v) {         std::cout << i << ' ';     }     std::cout << '\n';      return 0; } 

在这个示例中,我们首先包含了必要的头文件,然后创建了一个包含整数的向量。接着,我们创建了一个基于 Mersenne Twister 算法的随机数生成器 g,并使用 std::random_device 为其提供种子。最后,我们使用 std::shuffle 函数和自定义的随机数生成器 g 对向量进行随机排序。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!