学堂 学堂 学堂公众号手机端

random_shuffle()函数用于随机重排指定范围内的元素

lewis 1年前 (2024-04-02) 阅读数 7 #技术

random_shuffle()函数用于随机重排指定范围内的元素。

函数定义:

template<classRandomAccessIterator> voidrandom_shuffle(RandomAccessIteratorfirst,RandomAccessIteratorlast);

参数说明:


  • RandomAccessIterator:要重排的元素范围的起始迭代器。
  • first:要重排的元素范围的起始位置。
  • last:要重排的元素范围的结束位置,不包括该位置的元素。

使用示例:

#include<iostream> #include<vector> #include<algorithm> intmain(){ std::vector<int>vec={1,2,3,4,5}; //重排整个向量 std::random_shuffle(vec.begin(),vec.end()); //输出重排后的结果 for(autonum:vec){ std::cout<<num<<""; } return0; }

输出结果:

43125

random_shuffle()函数会将指定范围内的元素进行随机重排。重排的结果每次运行都可能不同。在上面的示例中,输出结果就是对原向量{1,2,3,4,5}进行随机重排的结果。

需要注意的是,random_shuffle()函数只适用于随机访问迭代器(RandomAccessIterator),如向量(vector)和数组(array)。对于其他类型的容器,可以使用shuffle()函数进行类似的操作。

版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门