如何在c ++中从列表/数组中随机选择一个数字?

问题描述 投票:0回答:2

尊敬的专家,我有一个名为Dstr的向量,如果执行Dstr.size(),它将给我一个数组。我想从该Dstr / Dstr.size()中随机选择一个候选人。您能否建议我如何在C ++中做到这一点?

谢谢问候

c++
2个回答
1
投票

要从向量中获取随机元素,可以使用std::sample

decltype(Dstr)::value_type element;
std::sample(Dstr.begin(), Dstr.end(), &element, 1, std::mt19937{std::random_device{}()});

需要C ++ 17。


-1
投票

自动候选= Dstr [rand()%Dstr.size()];

© www.soinside.com 2019 - 2024. All rights reserved.