一、random_device
创建随机设备对象,通过本设备的随机数生成器生成随机种子,而不是使用时间生产随机种子
二、mt19937
创建随机数引擎对象,参数是创建的随机设备对象random_device,随机设备对象重载了(),rd()在这里是可调用对象
创建随机数分布对象-均匀分布,参数是范围,最小值和最大值的范围,范围是闭区间
1
| std::uniform_int_distribution<int> dis(min,max);
|
四、生成随机数
1
| int randomNumber = dis(gen);
|
完整代码
生成一个随机数数组
1 2 3 4 5 6 7 8 9 10 11 12
| std::vector<int> generateRandomArray(int size) { std::vector<int> arr; std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<int> dis(0, 10000); for (size_t i = 0; i < size; i++) { arr.push_back(dis(gen)); } return arr; }
|