Maison  >  Article  >  développement back-end  >  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
DDDoriginal
2024-11-08 15:05:02255parcourir

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

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;
}

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:
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