阅读量:0
C++中的random_shuffle函数已经在C++11标准中被弃用,并且在C++17标准中被移除。取而代之的是std::shuffle函数。使用std::shuffle函数可以对指定范围内的元素进行随机排序,但不再像random_shuffle函数那样接受序列作为参数。在使用std::shuffle函数时,需要自己提供一个用于生成随机数的随机数引擎,可以使用std::default_random_engine或者自定义的其他类型的随机数引擎。
下面是一个使用std::shuffle函数对数组进行随机排序的示例:
#include <iostream> #include <algorithm> #include <random> int main() { int arr[] = {1, 2, 3, 4, 5}; // 使用默认的随机数引擎 std::default_random_engine rng(std::random_device{}()); // 对数组进行随机排序 std::shuffle(std::begin(arr), std::end(arr), rng); // 输出随机排序后的数组 for (int num : arr) { std::cout << num << " "; } return 0; }
在上面的示例中,我们使用std::default_random_engine作为随机数引擎,通过std::shuffle函数对数组进行随机排序。请注意,需要包含