首页 > 解决方案 > 如何从 C++ 中的列表/数组中随机选择一个数字?

问题描述

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

提前致谢 问候

标签: c++

解决方案


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

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

需要 C++17。


推荐阅读