random_shuffle
是 C++98 中的一个函数,用于对序列进行随机排序
以下是一个使用 C++11 和 std::shuffle
的示例:
#include#include #include #include int main() { std::vector v = {1, 2, 3, 4, 5}; // 创建一个随机数生成器 std::random_device rd; std::mt19937 g(rd()); // 使用自定义随机数生成器对向量进行随机排序 std::shuffle(v.begin(), v.end(), g); for (int i : v) { std::cout << i << ' '; } std::cout << '\n'; return 0; }
在这个示例中,我们首先包含了必要的头文件,然后创建了一个包含整数的向量。接着,我们创建了一个基于 Mersenne Twister 算法的随机数生成器 g
,并使用 std::random_device
为其提供种子。最后,我们使用 std::shuffle
函数和自定义的随机数生成器 g
对向量进行随机排序。