gpt4 book ai didi

c++ - 有没有一种在 C++ 中随机排列数组的新方法?

转载 作者:行者123 更新时间:2023-12-04 03:26:41 24 4
gpt4 key购买 nike

我是编码方面的新手(C++ 第二学期),并且正在从事一个需要随机排列字符串数组的项目。我过去使用 random_shuffle() 做过类似的程序,但发现它已被弃用。还有其他方法可以打乱数组吗?

顺便说一句,我正在使用 Xcode,以防万一。

非常感谢任何帮助!这是我的第一篇文章,我敢肯定。

最佳答案

std::random_shuffle 由于使用默认的伪随机生成器而被弃用,因为它很糟糕。现在,std::shuffle让您可以使用 c++11 令人敬畏的新随机设备机制。你可以在重载中看到:

template< class RandomIt, class URBG >
void shuffle( RandomIt first, RandomIt last, URBG&& g );

URGB 是您希望它使用的随机发生器。所以现在你可以这样调用它:

std::random_device rd;
std::mt19937 g(rd());

std::shuffle(std::begin(my_array), std::end(my_array), g);

而且它会比以往任何时候都更快、更随机。

关于c++ - 有没有一种在 C++ 中随机排列数组的新方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67496946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com