gpt4 book ai didi

C++ 随机选择 std::vector> 的非空元素

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:57 30 4
gpt4 key购买 nike

我得到一个大 vector ,它本身包含特定数据类型的 vector ,例如std::vector<std::vector<double> > foo .我正在尝试从 foo 中检索一个随机元素 foo[idx] 使得 foo[idx]为非空或分别为 foo[idx].empty() == false .

我天真的猜测是从 foo 中选择随机元素直到我的限制 foo[idx].empty() == false实现了。

但是很可能是foo非常稀疏地填充了非空 vector 。因此,我的方法很可能非常缓慢。

是否有更好的方法或者我应该考虑一个完全不同的数据结构?

最佳答案

用非空元素的索引维护一个辅助 vector ,并从那里得到一个随机元素

关于C++ 随机选择 std::vector<std::vector>> 的非空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47905743/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com