1
我有n
向量数量(单列),它们是相关的。其中一个(假设第一个n
载体)有一堆NaN
。我已经使用了erase - remove_if
成语来清除这个包含NaN
的行的向量。我想同时或事后从所有其他向量中删除完全相同的行。这似乎是一个常见的编码问题,但我找不到一个例子。我用C++编写了OpenCV库。如何从多个向量中删除相同的行位置?
这里是我的代码示例不工作,我认为这是一种什么三木是在暗示
vector<float> RemoveManyEs(vector<float> &V1, vector<float> &V2, vector<float> &V3)
{
int length = V1.size();
int n = 0;
do
{
if (isnan(V1.at(n)))
{
V1.erase(V1.begin() + n);
V2.erase(V2.begin() + n);
V3.erase(V3.begin() + n);
}
n += 1;
} while (n < length);
return V1,V2,V3;
}
如果向量必须保持锁步,为什么还有其他向量? – user4581301
只需扫描您的第一个矢量(或包含NaN的矢量),并存储NaN的索引。然后,从每个向量中删除检索索引处的元素。 – Miki
试图找出如何把我的示例代码在这个评论继续讨论 – Clay