1、非确定性方法
//产生非确定随机数(每次运行产生的随机数不一样)
#include <iostream>
#include <random>
int main()
{
std::random_device rd;
std::uniform_int_distribution<int> dist(0, 10);
for (int n = 0; n < 10; ++n)
std::cout<<dist(rd)<<" ";
std::cout<<std::endl;
return 0;
}
运行结果:(每次运行不一样)
9 1 4 3 2 10 0 10 4 6
2、确定性方法
//产生确定随机数(多次次运行时每次产生的随机数一样)
#include <iostream>
#include <random>
int main()
{
std::default_random_engine e;
std::uniform_int_distribution<unsigned> u(0, 9); //随机数分布对象
for (size_t i = 0; i < 10; ++i) //生成范围为0-9的随机数序列
std::cout << u(e) << " ";
std::cout << std::endl;
return 0;
}
运行结果:(多次运行时,每次结果一样)
0 1 7 4 5 2 0 6 6 9