C++中除了使用rand和srand函数产生随机数,STL中提供了一个更便捷的方法,即random_shuffle函数。
这篇博客主要总结一下random_shuffle()的用法,rand和srand函数可以参考我的另一篇博客:
C++随机数:rand和srand函数总结
https://blog.csdn.net/m0_49070560/article/details/108557117.
接下来我们说random_shuffle()。
random_shuffle() 函数原型如下:
template<class RandomAccessIterator>
void random_shuffle(
RandomAccessIterator _First, //指向序列首元素的迭代器
RandomAccessIterator _Last //指向序列最后一个元素的下一个位置的迭代器
);
这是一个函数模板,不知道什么叫模板的可以看这里:C++函数模板.
它有两个参数,参数一为指向序列首元素的迭代器,参数二为指向序列最后一个元素的下一个位置的迭代器。
首先我们用vector定义一个对象并赋值,注意包含vector的头文件:
//头文件#include <vector>
vector<int> vec;
for(int i=11 ; i < 26 ; i++)
{
vec.push_back(i);
}
然后调用random_shuffle();