random_shuffle的用法是甚么
random_shuffle是一个函数,用于将一个序列中的元素进行随机重排。它可以利用于数组、向量、字符串等容器,使用随机数生成器对容器中的元素进行重新排列。
random_shuffle的用法以下:
1. C++标准库使用:
```cpp
#include
#include
int main() {
std::vector
// 设置随机数种子
std::srand(unsigned(std::time(0)));
// 随机重排容器中的元素
std::random_shuffle(vec.begin(), vec.end());
// 输出结果
for (const auto& num : vec) {
std::cout << num << " ";
}
return 0;
}
```
输出结果可能为:3 1 4 5 2
2. 自定义随机数生成器:
```cpp
#include
#include
#include
int main() {
std::vector
// 设置随机数生成器
std::random_device rd;
std::mt19937 g(rd());
// 随机重排容器中的元素
std::random_shuffle(vec.begin(), vec.end(), g);
// 输出结果
for (const auto& num : vec) {
std::cout << num << " ";
}
return 0;
}
```
输出结果可能为:4 1 3 5 2
注意:C++11标准中已将random_shuffle标记为已废弃,建议使用shuffle函数替换。
TOP