Fonction remove de <list> en C++
removeest utilisé dans list poursupprimer tous les éléments égaux à la valeur spécifiéeest une fonction qui est une opération très efficace propre aux listes chaînées.
removeest une fonction membre de la classe conteneur, utilisée pour supprimer tous les éléments de la liste chaînée qui sont égaux à la valeur spécifiée.
Dans la liste,removela complexité temporelle est O(n).
Définitions de mots: removesignifie « remove », c'est-à-dire supprimer tous les éléments égaux à la valeur spécifiée.
Syntaxe de base et paramètres
Format de syntaxe
void remove(const T& value);
Description des paramètres
- Paramètre:
value- la valeur de l'élément à supprimer
Description de la fonction
- Valeur de retour:
void(Aucune valeur de retour). - Effet: Supprimer tous les éléments de la liste chaînée qui sont égaux à value.
Exemple
Exemple 1 : Supprimer tous les éléments égaux à la valeur spécifiée
Exemple
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 2, 4, 2, 5};
std::cout << "Original: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
// Supprimer tous les éléments égaux à 2
numbers.remove(2);
std::cout << "Après remove(2) : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 2, 4, 2, 5};
std::cout << "Original: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
// Supprimer tous les éléments égaux à 2
numbers.remove(2);
std::cout << "Après remove(2) : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Résultat d'exécution attendu :
原始: 1 2 3 2 4 2 5 remove(2) 后: 1 3 4 5
Exemple 2 : Supprimer une chaîne
Exemple
#include <iostream>
#include <list>
#include <string>
int main() {
std::list<std::string> words = {"apple", "banana", "apple", "cherry", "apple"};
std::cout << "Original: ";
for(const auto& w : words) std::cout << w << " ";
std::cout << std::endl;
words.remove("apple");
std::cout << "remove(\"apple\") Après : ";
for(const auto& w : words) std::cout << w << " ";
std::cout << std::endl;
return 0;
}
#include <list>
#include <string>
int main() {
std::list<std::string> words = {"apple", "banana", "apple", "cherry", "apple"};
std::cout << "Original: ";
for(const auto& w : words) std::cout << w << " ";
std::cout << std::endl;
words.remove("apple");
std::cout << "remove(\"apple\") Après : ";
for(const auto& w : words) std::cout << w << " ";
std::cout << std::endl;
return 0;
}
Résultat d'exécution attendu :
原始: apple banana apple cherry apple
remove("apple") 后: banana cherry
autres extensions