SV 中的std::randmize随机
时间: 2024-09-26 20:16:22 浏览: 37
Vb常用内部函数大总结
在 C++ 的标准模板库 (STL) 中,`std::random_shuffle` 是用于对容器(如向量、数组或集合)中的元素进行随机排序的一个函数。它接受两个参数:一个是容器的迭代器范围,另一个是一个可选的随机数生成器对象,通常是从 `<random>` 库中获取的。这个函数会在线性时间内改变容器内元素的顺序,使得每个元素都有相等的概率出现在新排列的任意位置。
例如,你可以这样做:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
#include <random>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5};
std::random_device rd; // 使用当前时间作为随机种子
std::mt19937 g(rd()); // Mersenne Twister generator
std::shuffle(nums.begin(), nums.end(), g);
for (const auto &num : nums) {
std::cout << num << " ";
}
return 0;
}
```
在这个例子中,`nums` 向量会被随机打乱。
阅读全文