Fonction d'effacement vectoriel () en C++

Fonction D Effacement Vectoriel 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 vector pour ajouter et supprimer un élément du vecteur. La fonction Eraser() est utilisée pour supprimer un ou plusieurs éléments du vecteur au moment de l'exécution, ce 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 sont donnés ci-dessous.







itérateur effacer ( position de l'itérateur ) ;

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



itérateur effacer ( itérateur commençant_position, itérateur fin_position ) ;

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



Prérequis:

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





Exemple 1 : Supprimer le premier élément é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 à l'aide de la fonction Eraser() avec un paramètre.

//Inclure les bibliothèques nécessaires

#include

#include

en utilisant espace de noms norme ;

//Affiche les valeurs du vecteur

vide display_vecteur ( vecteur < chaîne > fruits )

{

//Initialiser le compteur

int comptoir = 1 ;

//Itérer et imprimer les éléments du vecteur en utilisant la boucle

pour ( auto il = fruits. commencer ( ) ; il ! = fruits. fin ( ) ; il ++ )

{

//Vérifie que les éléments sont le dernier élément ou non

si ( comptoir ! = fruits. taille ( ) )

cout << * il << ', ' ;

autre

cout << * il ;

//Incrémente le compteur de 1

comptoir ++ ;

}

cout << fin ;

}

int principal ( vide ) {

//Déclare un vecteur de données de chaîne

vecteur < chaîne > fruits = { 'Orange' , 'Banane' , 'Mangue' , 'Fruit de Jacquier' , Litchi } ;

//Imprime les valeurs existantes du vecteur

cout << 'Les valeurs du vecteur avant suppression : ' << fin ;

display_vecteur ( fruits ) ;

//Supprime le premier élément du vecteur

        fruits. effacer ( fruits. commencer ( ) ) ;

//Imprime les valeurs existantes du vecteur après suppression

cout << ' \n Les valeurs du vecteur après suppression : ' << fin ;

display_vecteur ( fruits ) ;

retour 0 ;

}

Sortir:

La sortie suivante apparaîtra après l'exécution du 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 entières a été utilisé dans le code. Deux itérateurs ont été utilisés ici pour définir la plage d'éléments supprimés du vecteur. La fonction effacer() a été utilisée avec deux paramètres pour supprimer plusieurs éléments du vecteur.

//Inclure les bibliothèques nécessaires

#include

#include

en utilisant espace de noms norme ;

//Affiche le vecteur

vide display_vecteur ( vecteur < int > Nombres )

{

//Imprime les valeurs du vecteur en utilisant la boucle

pour ( auto il = Nombres. commencer ( ) ; il ! = Nombres. fin ( ) ; il ++ )

cout << * il << ' ' ;

//Ajouter une nouvelle ligne

cout << ' \n ' ;

}

int principal ( ) {

//Déclare un vecteur de données entières

vecteur < int > tableauint { 678 , 435 , 960 , 231 , 800 , 387 , 634 , 267 , 409 , 294 } ;

//Imprime les valeurs existantes du vecteur

cout << 'Les valeurs du vecteur avant suppression : ' << fin ;

display_vecteur ( tableauint ) ;

// Déclarez deux itérateurs pour supprimer la plage d'éléments du vecteur

vecteur < int > :: itérateur débutÉlé, finÉlé ;

// Place l'itérateur à la première position

démarrez-les = intArray. commencer ( ) ;

//Incrémente l'itérateur de départ de 2

avance ( démarrez-les, 2 ) ;

// Place l'itérateur à la dernière position

finEle = intArray. fin ( ) ;

//Décrémente l'itérateur de fin de 3

avance ( finEle, - 3 ) ;

//Supprimer la plage d'éléments

intArray. effacer ( débutÉlé, finÉlé ) ;

//Imprime les valeurs existantes du vecteur après suppression

cout << ' \n Les valeurs du vecteur après suppression : ' << fin ;

display_vecteur ( tableauint ) ;

retour 0 ;

}

Sortir:

La sortie suivante apparaîtra après l'exécution du code ci-dessus. Selon la portée des itérateurs, les éléments de la 3ème position à la 7ème 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 effacer(). Un vecteur de 7 éléments entiers a été déclaré dans le code. Ensuite, la boucle « for » a été utilisée pour itérer les éléments du vecteur et supprimer du vecteur les éléments qui ne sont pas divisibles par 5.

//Inclure les bibliothèques nécessaires

#include

#include

en utilisant espace de noms norme ;

int principal ( )

{

//Déclare un vecteur de données entières

vecteur < int > Nombres = { 78 , Quatre cinq , 67 , 25 , 98 , 75 , 52 } ;

cout << 'Les valeurs du vecteur avant suppression : \n ' ;

pour ( int const & je : Nombres ) {

cout << je << ' ' ;

}

cout << fin ;

// Supprime les nombres du vecteur qui ne sont pas divisibles par 5

pour ( auto il = Nombres. commencer ( ) ; il ! = Nombres. fin ( ) ; il ++ )

{

//Vérifie que le nombre est divisible par 5 ou non

si ( * il % 5 ! = 0 )

{

// Supprime l'élément en fonction de l'itérateur

Nombres. effacer ( il -- ) ;

}

}

cout << 'Les valeurs du vecteur après suppression : \n ' ;

pour ( int const & je : Nombres ) {

cout << je << ' ' ;


}


cout << fin ;


retour 0 ;

}

Sortir:

La sortie suivante apparaîtra après l'exécution du code ci-dessus. Le résultat montre que le vecteur contient les éléments divisibles par 5 uniquement et que d'autres éléments ont été supprimés.

Conclusion:

Différentes utilisations de la fonction Eraser() ont été présentées dans ce didacticiel pour supprimer des éléments vectoriels. Le C++ dispose de nombreuses autres fonctions pour supprimer l'élément du vecteur, et ces fonctions peuvent supprimer un seul élément à la fois. Mais les éléments simples et multiples de n’importe quelle position du vecteur peuvent être supprimés à l’aide de la fonction vector erasable().