Maison > développement back-end > C++ > Comment supprimer des éléments d'un vecteur par valeur en C ?

Comment supprimer des éléments d'un vecteur par valeur en C ?

DDD
Libérer: 2024-11-08 15:05:02
original
339 Les gens l'ont consulté

How to Remove Elements from a Vector by Value in C  ?

Comment supprimer des éléments vectoriels par valeur en C

Considérons le vecteur myVector contenant les valeurs {5, 9, 2, 8, 0 , 7} dans l'ordre. Pour effacer l'élément contenant la valeur "8" via sa position, on pourrait utiliser :

myVector.erase(myVector.begin() + 4); // Erase the 4th element
Copier après la connexion

Alternativement, pour effacer directement en fonction de la valeur "8", on peut utiliser std::remove() function:

#include <algorithm>

int main() {
  std::vector<int> vec{5, 9, 2, 8, 0, 7};
  vec.erase(std::remove(vec.begin(), vec.end(), 8), vec.end());
  return 0;
}
Copier après la connexion

Dans ce cas, std::remove() réorganise les éléments, en déplaçant "8" à la fin du vecteur, puis effacer() supprime efficacement l'élément déplacé. Cette approche est connue sous le nom de « idiome effacer-supprimer ».

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal