固定数の符号なし整数を含むstd::vectorsの非常に大きなstd::vectorがあります。
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は、上記のベクトルを含むベクトルです。
ベクトルのベクトルがソートされていない場合、重複を排除するためのより効率的な方法はありますか?