C++ random_shuffle()函数用法详解

avatar
作者
猴君
阅读量: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()函数进行类似的操作。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!