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

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

DDD
Libérer: 2024-11-14 22:21:02
original
783 Les gens l'ont consulté

How to Remove Elements from a C   Vector by Value?

Suppression d'éléments vectoriels par valeur en C

En C , la méthode erasable() des vecteurs nous permet de supprimer des éléments par leur position. Mais que se passe-t-il si l'on veut supprimer un élément en fonction de sa valeur plutôt que de sa position ?

Considérons le vecteur suivant :

vector<int> myVector = {5, 9, 2, 8, 0, 7};
Copier après la connexion

Pour effacer l'élément avec une valeur de "8" en utilisant la méthode traditionnelle delete(), nous ferions :

myVector.erase(myVector.begin() + 4);
Copier après la connexion

Cependant, pour supprimer un élément par valeur, nous pouvons utiliser la fonction std::remove() :

#include <algorithm>
...

myVector.erase(std::remove(myVector.begin(), myVector.end(), 8), myVector.end());
Copier après la connexion

Voici comment cela fonctionne :

  • std::remove() prend trois arguments : les itérateurs de début et de fin du vecteur et la valeur à supprimer.
  • Il renvoie un itérateur pointant à l'élément après le dernier élément supprimé.
  • La méthode Eraser() est ensuite utilisée pour supprimer les éléments de l'itérateur renvoyé par std::remove() à la fin du vecteur.

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!

source:php.cn
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