vs silmek bir vektör bir öğe silindikten "normal" yolu şöyledir:std :: vector :: "swap ve pop"
vec.erase(vec.begin() + index);
Ama teoride daha hızlı sadece bunu yapmak için var:
if (vec.size() >= 2)
{
std::swap(vec.begin() + index, vec.end() - 1);
vec.pop_back();
}
else
{
vec.clear();
}
İkincisini kullanmamanın herhangi bir sebebi var mı?
Siparişi korumanız gerekiyorsa normal şekilde ihtiyacınız vardır. – zch
Hızlı olmak için silme işlemine ihtiyacınız varsa, her zaman bağlantılı bir liste kullanmayı düşünebilirsiniz. – CompuChip
@CompuChip İkinci örnekten daha yavaş sonuçlanacak olsa da, bağlantılı listeler temelde yavaştır. – Veedrac