2024年3月9日发(作者:)
c++ random_shuffle函数
C++中的random_shuffle函数是一个随机打乱序列的函数。它可
以帮助我们在程序中随机打乱数组、字符串等序列,常常用于洗牌、
随机化等场合。
使用random_shuffle函数非常简单,只需要包含头文件
template
void random_shuffle(RandomAccessIterator first,
RandomAccessIterator last);
其中,first和last是迭代器,表示要打乱的区间。函数会将
[first,last)区间内的元素随机打乱。
需要注意的是,random_shuffle函数是依赖于随机数生成器的,
因此需要提供一个随机数生成器。如果不提供,则使用C函数rand()
生成随机数。如果需要更强的随机数生成器,可以使用C++11中的
random库。
下面是一个使用random_shuffle函数打乱数组的示例代码:
#include
#include
#include
using namespace std;
int main()
{
- 1 -
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 设置随机数种子
srand((unsigned int)time(NULL));
// 打乱数组
random_shuffle(arr, arr + 10);
// 输出打乱后的数组
for (int i = 0; i < 10; i++)
{
cout << arr[i] << ' ';
}
cout << endl;
return 0;
}
运行结果可能如下:
7 4 1 10 2 8 9 6 5 3
可以看到,原本按顺序排列的数组被随机打乱了。
- 2 -


发布评论