我有一个非常大的 std::vector 的 std::vectors 包含固定数量的无符号整数。
uint 的所有向量都按升序排序。
我目前消除重复向量的方法是
unsigned int i = 0;
while ( i < new_combs.size() )
{
unsigned int j = i + 1;
while ( j < new_combs.size() )
{
unsigned int k = 0;
while ( k < new_combs.at(i).size() && new_combs.at(i).at(k) == new_combs.at(j).at(k) )
++k;
if ( k == new_combs.at(j).size() )
new_combs.erase(new_combs.begin() + j);
else
++j;
}
++i;
}
这里,new_combs 是一个包含上述向量的向量。
如果向量的向量未排序,是否有更有效的方法来消除重复项?