尊敬的专家,我有一个名为Dstr的向量,如果执行Dstr.size(),它将给我一个数组。我想从该Dstr / Dstr.size()中随机选择一个候选人。您能否建议我如何在C ++中做到这一点?
谢谢问候
要从向量中获取随机元素,可以使用std::sample
:
decltype(Dstr)::value_type element;
std::sample(Dstr.begin(), Dstr.end(), &element, 1, std::mt19937{std::random_device{}()});
需要C ++ 17。
自动候选= Dstr [rand()%Dstr.size()];