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