Maison  >  Article  >  développement back-end  >  Comment supprimer des éléments avec une valeur spécifique d'un vecteur STL ?

Comment supprimer des éléments avec une valeur spécifique d'un vecteur STL ?

DDD
DDDoriginal
2024-11-19 02:59:03196parcourir

How Do I Remove Elements with a Specific Value from an STL Vector?

Suppression d'éléments avec une valeur spécifique d'un vecteur STL

Dans le contexte des opérations vectorielles STL, il peut être surprenant qu'il y ait aucune méthode explicite pour supprimer des éléments en fonction de leurs valeurs. Cette opération courante peut être réalisée en utilisant différentes approches.

Utilisation de std::remove

La fonction std::remove sert de méthode utilitaire pour la manipulation de vecteurs. Il réorganise discrètement les éléments du vecteur, en déplaçant ceux qui ne doivent pas être supprimés vers l'avant. Sa valeur de retour est un itérateur pointant vers l'élément suivant le dernier qui n'a pas été supprimé. Cet itérateur peut ensuite être utilisé comme argument à std::erase pour éliminer définitivement les éléments redondants désormais situés à la fin du vecteur :

std::vector<int> vec;
// Initialize vec with values
int value = n;
vec.erase(std::remove(vec.begin(), vec.end(), value), vec.end());

Cette approche identifie et supprime efficacement les éléments spécifiés du vecteur tout en conservant son ordre logique.

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