温馨提示×

替代random_shuffle的现代方法

小樊
96
2024-07-04 11:10:20
栏目: 编程语言

C++17中已经弃用了std::random_shuffle函数,推荐使用std::shuffle函数作为替代方法。std::shuffle函数提供了更好的随机性和灵活性,并且更易于使用。

以下是使用std::shuffle函数来替代std::random_shuffle函数的示例代码:

#include <iostream>
#include <vector>
#include <algorithm>
#include <random>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    
    // 设置随机数生成器
    std::random_device rd;
    std::mt19937 g(rd());
    
    // 使用std::shuffle来打乱顺序
    std::shuffle(vec.begin(), vec.end(), g);
    
    // 打印打乱后的顺序
    for (int i : vec) {
        std::cout << i << " ";
    }
    std::cout << std::endl;
    
    return 0;
}

在上面的示例中,我们首先设置了一个随机数生成器g,然后使用std::shuffle函数来打乱vec中元素的顺序。最后,我们打印出打乱后的顺序。

通过使用std::shuffle函数,我们可以更加方便地实现打乱顺序的功能,并且提供了更好的随机性。

0