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();

这篇博客介绍了C++ STL中的random_shuffle函数,作为生成随机数的一种便捷方法。文章详细阐述了random_shuffle函数的用法,包括参数解释,并通过示例展示了如何使用该函数。同时,文中提到了种子的重要性,以及在使用random_shuffle时需要设置种子以确保每次运行得到不同的随机数序列。此外,还列举了几种遍历并输出随机打乱序列的方式,如for_each、at、重载的下标运算符以及使用迭代器。
最低0.47元/天 解锁文章

2516

被折叠的 条评论
为什么被折叠?



