Maison > développement back-end > C++ > Comment supprimer efficacement des éléments d'un std :: vector par index ?

Comment supprimer efficacement des éléments d'un std :: vector par index ?

Patricia Arquette
Libérer: 2024-12-31 13:42:15
original
231 Les gens l'ont consulté

How to Efficiently Delete Elements from an std::vector by Index?

Suppression d'éléments d'un std :: vector par index

Dans le domaine de la manipulation de données, le conteneur std :: vector joue un rôle crucial rôle dans la représentation de séquences ordonnées d’éléments. Lorsque vous explorez des algorithmes complexes et des transformations de données, vous pouvez rencontrer un scénario dans lequel vous devez supprimer un élément spécifique de votre std :: vector. Voici comment y parvenir à l'aide de la fonction Eraser() :

Suppression d'un seul élément :

Pour supprimer un seul élément à l'index n de votre std::vector, vous pouvez utiliser la technique suivante :

std::vector<int> vec;

vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);

// Deletes the second element (vec[1])
vec.erase(std::next(vec.begin()));
Copier après la connexion

Suppression de plusieurs Éléments :

Pour les scénarios dans lesquels vous devez effacer une plage d'éléments, la fonction Eraser() vous offre la flexibilité de spécifier les indices de début et de fin des éléments cibles. Cela vous permet de supprimer efficacement plusieurs éléments à la fois :

// Deletes the second through third elements (vec[1], vec[2])
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));
Copier après la connexion

Comprendre la fonction Eraser() :

La fonction Eraser() opère sur les itérateurs, qui sont objets qui représentent des positions dans un conteneur. Le premier paramètre de Eraser() amène un itérateur vers l'élément que vous souhaitez supprimer, tandis que le deuxième paramètre facultatif peut spécifier un itérateur vers l'élément immédiatement après le dernier que vous souhaitez supprimer. Cette flexibilité vous permet de définir la plage précise des éléments à effacer.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal