#include <random>
引擎(engine)与分布(distribution)
引擎
std::default_random_engine dre;engine 可作为 std::shuffle() 的第三个参数进行传递;
分布
std::uniform_int_distribution<int> di(10, 20); // 包含端点 std::uniform_real_distribution<double> dr(10, 20); // 不包含右端点
std::default_random_engine dre;
std::uniform_int_distribution di(10, 20);
for (int i = 0; i < 20; ++i)
cout << di(dre) << " ";
cout << endl;
std::uniform_real_distribution dr(10, 20);
for (int i = 0; i < 20; ++i)
cout << dr(dre) << " ";
cout << endl;
std::vector<int> v = {1, 2, 3, 4, 5, 6, 7, 8, 9};
std::shuffle(v.begin(), v.end(), dre);
copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
cout << endl;
本文介绍如何使用C++标准库中的随机数引擎和分布类来生成指定范围内的随机整数和浮点数,并展示了如何利用这些工具对数组进行随机排序。

8583

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



