从数字向量生成随机数

spn*_*nsp 3 c++ random vector

我有一个矢量v = {1,5,4,2}.现在我想编写一个从该向量返回一对随机数的函数.示例:{1,2},{4,4},{2,5},{5,1},{1,5},{2,2}.......我希望以随机方式生成此对.知道如何实现这个吗?

Bat*_*eba 8

auto pair = std::make_pair(v[rand() % v.size()], v[rand() % v.size()]);
Run Code Online (Sandbox Code Playgroud)

是一种方式.

如果您需要生成器具有更好的统计属性rand(),请从新<random>的C++ 11库中切换到某些内容:除了生成器本身之外,使用%可能会引入统计偏差.