阅读量:4
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
函数,我们可以更加方便地实现打乱顺序的功能,并且提供了更好的随机性。