在c++中shuffle怎么用
时间: 2024-11-22 13:03:29 浏览: 24
在C++中,`<algorithm>`头文件提供了一个名为`std::shuffle()`的函数,它用于随机打乱序列(如数组或容器)中的元素。这个函数通常与`<random>`库一起使用,以便生成随机数。下面是使用`shuffle()`的基本步骤:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
#include <random>
int main() {
// 创建一个整数向量
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 设置随机数种子(为了每次运行结果一致)
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
// 创建一个均匀分布的随机数生成器
std::uniform_int_distribution<int> distribution(0, numbers.size() - 1);
// 使用shuffle函数打乱向量
std::shuffle(numbers.begin(), numbers.end(), generator);
// 打印打乱后的向量
for (const auto &num : numbers) {
std::cout << num << " ";
}
return 0;
}
```
在这个例子中,我们首先设置一个随机数引擎和一个范围分布,然后调用`shuffle()`函数,将这两个作为最后一个参数传递进去。`shuffle()`的第一个参数是迭代器的起始位置,第二个参数是终止位置(不包括),第三个参数是随机数生成器,它决定了随机顺序。
阅读全文