random_shuffle()函数用于随机重排指定范围内的元素。
函数定义:
template <class RandomAccessIterator>
void random_shuffle(RandomAccessIterator first, RandomAccessIterator last);
参数说明:
使用示例:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 重排整个向量
std::random_shuffle(vec.begin(), vec.end());
// 输出重排后的结果
for (auto num : vec) {
std::cout << num << " ";
}
return 0;
}
输出结果:
4 3 1 2 5
random_shuffle()函数会将指定范围内的元素进行随机重排。重排的结果每次运行都可能不同。在上面的示例中,输出结果就是对原向量{1, 2, 3, 4, 5}进行随机重排的结果。
需要注意的是,random_shuffle()函数只适用于随机访问迭代器(RandomAccessIterator),如向量(vector)和数组(array)。对于其他类型的容器,可以使用shuffle()函数进行类似的操作。