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

Comment supprimer un élément d'un std::vector par index en C ?

DDD
DDDoriginal
2024-12-11 20:57:15266parcourir

How to Remove an Element from a std::vector by Index in C  ?

Effacer un élément d'un std::vecteur par index

En C , lorsque vous travaillez avec un std::vecteur, il peut y avoir cas où la suppression d'un élément par son index est nécessaire.

Considérez un scénario dans lequel vous avez un vecteur d'entiers et devez supprimer le nième élément.

Solution :

Pour supprimer un seul élément à la position n, utilisez simplement std::erase avec un itérateur à la position souhaitée. Voici comment procéder :

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

std::next(vec.begin()) renvoie un itérateur vers le deuxième élément, qui est ensuite effacé.

Si vous souhaitez supprimez plusieurs éléments consécutifs, utilisez l'effacement avec une plage d'itérateurs :

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