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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-17 01:58:25149parcourir

How Do I Efficiently Delete Elements from a C   std::vector by Index?

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

Une tâche courante en programmation consiste à supprimer des éléments d'un conteneur, tel qu'un vecteur. std :: vector est un tableau dynamique en C qui permet une insertion et une suppression efficaces d'éléments. La suppression d'un élément par index peut être réalisée de plusieurs manières.

Suppression d'un seul élément

Pour supprimer un seul élément d'un vecteur, utilisez la fonction effacer(). Cette fonction amène un itérateur vers l'élément à supprimer. Par exemple :

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()));

La fonction std::next() est utilisée pour faire avancer l'itérateur jusqu'à l'index souhaité.

Suppression de plusieurs éléments

Pour supprimer plusieurs éléments à la fois, utilisez la fonction Eraser() avec une plage d'itérateurs. La plage est spécifiée par deux itérateurs : l'un pointant vers le premier élément à supprimer et l'autre pointant vers l'élément juste après le dernier à supprimer. Par exemple :

// Deletes the second through third elements (vec[1], vec[2])
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));

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