C++中的random_shuffle函数可以用来将一个容器中的元素随机排序。以下是一个示例代码,展示如何正确使用random_shuffle函数:
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 设置随机种子
std::srand(unsigned(std::time(0)));
// 使用random_shuffle函数随机打乱容器中的元素
std::random_shuffle(vec.begin(), vec.end());
// 打印打乱后的结果
for(auto i : vec) {
std::cout << i << " ";
}
return 0;
}
在上面的示例中,首先我们创建了一个包含1至5的整数的vector容器,然后通过srand
函数设置了随机种子,接着使用random_shuffle
函数对容器中的元素进行随机排序,最后打印了打乱后的结果。
需要注意的是,random_shuffle
函数需要包含<algorithm>
头文件,并且需要使用srand
函数设置随机种子,以确保每次运行结果都是随机的。
另外,C++11中引入了更好的随机数生成器,可以使用std::shuffle
函数替代std::random_shuffle
。