random_shuffle()函数用于随机重排指定范围内的元素
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()函数进行类似的操作。
版权声明
本文仅代表作者观点,不代表博信信息网立场。