5
「通常」の方法は、このように書きます:のstd ::ベクトル::対消去「スワップとポップ」
vec.erase(vec.begin() + index);
しかし、理論的にはそれだけでこれを行うために高速です。
if (vec.size() >= 2)
{
std::swap(vec.begin() + index, vec.end() - 1);
vec.pop_back();
}
else
{
vec.clear();
}
後者を使用しない理由はありますか?
注文を保存する必要がある場合は、通常の方法が必要です。 – zch
削除が速くなる必要がある場合は、常にリンクリストの使用を検討できます。 – CompuChip
@CompuChipこれは2番目の例よりも遅くなりますが、リンクされたリストは基本的にはデフォルトでは遅くなります。 – Veedrac