Fonction d'effacement du vecteur en C ++

Fonction d'effacement du vecteur en C ++

Le tableau est utilisé pour stocker plusieurs données, et le nombre d'éléments du tableau ne peut pas être modifié au moment de l'exécution. Ce problème peut être résolu en utilisant un vecteur qui fonctionne comme un tableau dynamique. Différentes fonctions existent dans la classe vectorielle pour ajouter et supprimer un élément du vecteur. La fonction effacer () est utilisée pour éliminer un ou plusieurs éléments du vecteur au temps d'exécution qui diminue la taille du vecteur. Les utilisations de cette fonction ont été expliquées dans ce tutoriel.

Syntaxe:

Deux types de syntaxe de cette fonction ont donné ci-dessous.

Iterator Efface (position de l'itérateur);

La fonction Effacement () ci-dessus est utilisée pour supprimer un seul élément du vecteur, et il renvoie un itérateur, et il pointe vers l'élément suivi par le dernier élément effacé.

Iterator Erase (iterator start_position, iterator ending_position);

La fonction Effacement () ci-dessus est utilisée pour supprimer plusieurs éléments du vecteur en fonction de la position mentionnée dans les première et deuxième arguments de cette fonction.

Prérequis:

Avant de vérifier les exemples de ce tutoriel, vous devez vérifier que le compilateur G ++ est installé ou non dans le système. Si vous utilisez le code Visual Studio, installez les extensions nécessaires pour compiler le code source C ++ pour créer le code exécutable. Ici, l'application de code Visual Studio a été utilisée pour compiler et exécuter le code C ++. Différentes utilisations de la fonction effacer () pour insérer les éléments dans un vecteur illustré ci-dessous.

Exemple-1: supprimer le premier élément

Créez un fichier C ++ avec le code suivant pour supprimer un élément du début du vecteur. Un vecteur de valeurs de chaîne a été utilisé dans le code. Les valeurs du vecteur ont été imprimées avant et après la suppression du premier élément du vecteur en utilisant la fonction ERASE () avec un paramètre.

// Inclure les bibliothèques nécessaires
#inclure
#inclure
Utilisation de Namespace Std;
// affiche les valeurs du vecteur
void display_vector (vecteur des fruits)

// initialise le compteur
int compteur = 1;
// itérer et imprimer les éléments du vecteur à l'aide de boucle
pour (auto ele = fruits.commencer(); ele != fruits.fin(); ele ++)

// Vérifiez que les éléments sont le dernier élément ou non
si (compteur != fruits.taille())
couter << *ele << ", ";
autre
couter << *ele;
// incrément le compteur par 1
compteur ++;

couter << endl;

int main (void)
// déclare un vecteur de données de chaîne
vecteur fruits = "orange", "banane", "mangue", "jack fruit", "lichi";
// imprime les valeurs existantes du vecteur
couter << "The values of the vector before remove: " << endl;
display_vector (fruits);
// Retirez le premier élément du vecteur
des fruits.effacer (fruits.commencer());
// imprime les valeurs existantes du vecteur après supprimer
couter << "\nThe values of the vector after remove: " << endl;
display_vector (fruits);
retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus.

Exemple-2: supprimer plusieurs éléments

Créez un fichier C ++ avec le code suivant pour supprimer les multiples éléments du vecteur à l'aide de la fonction effacer (). Un vecteur de valeurs entiers a été utilisé dans le code. Deux itérateurs ont été utilisés ici pour définir la gamme d'éléments supprimés du vecteur. La fonction effacer () a été utilisée avec deux paramètres pour éliminer plusieurs éléments du vecteur.

// Inclure les bibliothèques nécessaires
#inclure
#inclure
Utilisation de Namespace Std;
// Afficher le vecteur
void display_vector (vecteur num)

// imprime les valeurs du vecteur à l'aide de boucle
pour (auto ele = nums.commencer(); ele != nums.fin() ; ele ++)
couter << *ele << " ";
// Ajouter une nouvelle ligne
couter << "\n";

int main()
// déclare un vecteur de données entières
vecteur IntArray 678, 435, 960, 231, 800, 387, 634, 267, 409, 294;
// imprime les valeurs existantes du vecteur
couter << "The values of the vector before remove: " << endl;
display_vector (intarray);
// déclare deux itérateurs pour supprimer la gamme d'éléments du vecteur
vecteur :: Iterator Startlele, Endele;
// Réglez l'itérateur sur la première position
startlele = intarray.commencer();
// incrément l'itérateur de départ de 2
Advance (Startlele, 2);
// Réglez l'itérateur sur la dernière position
Endele = intarray.fin();
// décrément l'itérateur de fin par 3
Advance (Endele, -3);
// supprime la plage d'éléments
intarray.Effacer (Startlele, Endele);
// imprime les valeurs existantes du vecteur après supprimer
couter << "\nThe values of the vector after remove: " << endl;
display_vector (intarray);
retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus. Selon la gamme des itérateurs, les éléments de la 3e position à la 7e position du vecteur ont été supprimés.

Exemple-3: supprimer les éléments spécifiques

Créez un fichier C ++ avec le code suivant pour supprimer les éléments spécifiques du vecteur à l'aide de la fonction Erase (). Un vecteur de 7 éléments entiers a été déclaré dans le code. Ensuite, la boucle «pour» a utilisé pour itérer les éléments vectoriels et supprimer les éléments du vecteur qui ne sont pas divisibles par 5.

// Inclure les bibliothèques nécessaires
#inclure
#inclure
Utilisation de Namespace Std;
int main()

// déclare un vecteur de données entières
vecteur nombres = 78, 45, 67, 25, 98, 75, 52;
couter << "The values of the vector before remove:\n";
pour (int const & i: nombres)
couter << i << ";

couter << endl;
// Retirez les nombres du vecteur, ceux-ci ne sont pas divisibles par 5
for (auto ele = nombres.commencer(); ele != nombres.fin(); ele ++)

// Vérifiez que le nombre est divisible par 5 ou non
if (* ele% 5 != 0)

// Retirez l'élément en fonction de l'itérateur
Nombres.Effacer (ele--);


couter << "The values of the vector after remove:\n";
pour (int const & i: nombres)
couter << i << ";

couter << endl;
retour 0;

Sortir:

La sortie suivante apparaîtra après avoir exécuté le code ci-dessus. La sortie montre que le vecteur contient les éléments divisibles de 5 seulement, et d'autres éléments ont été supprimés.

Conclusion:

Différentes utilisations de la fonction Erase () ont été montrées dans ce tutoriel pour supprimer les éléments vectoriels. Le C ++ a de nombreuses autres fonctions pour supprimer l'élément du vecteur, et ces fonctions peuvent supprimer l'élément unique à la fois. Mais les éléments simples et multiples de n'importe quelle position du vecteur peuvent être supprimés en utilisant la fonction Vector Erase ().