给我一个大的向量,它本身包含特定数据类型的向量,例如std::vector<std::vector<double> > foo.我试图从foo中检索一个随机元素foo [idx],这样foo[idx]就分别是非空的foo[idx].empty() == false.
我天真的猜测是从foo我的约束foo[idx].empty() == false完成之前选择随机元素.
然而,foo非常稀疏地填充非空向量的情况很可能.因此,我的方法很可能会非常缓慢.
是否有更好的方法或我应该考虑完全不同的数据结构?