阅读量:0
random_shuffle()函数用于随机重排指定范围内的元素。
函数定义:
template <class RandomAccessIterator> void random_shuffle(RandomAccessIterator first, RandomAccessIterator last);
参数说明:
- RandomAccessIterator:要重排的元素范围的起始迭代器。
- first:要重排的元素范围的起始位置。
- 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()函数进行类似的操作。