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

   2024-09-30 2010
核心提示:random_shuffle 是 C++98 中的一个函数,用于对序列进行随机排序以下是一个使用 C++11 和 std::shuffle 的示例:#includeiostrea

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 对向量进行随机排序。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号