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函数对数组进行随机排序。请注意,需要包含