Fonction insert de C++ <list>
insertest utilisé dans list pourInsère un élément à une position spécifiéefonctions, et est l'opération la plus flexible des listes chaînées.
insertEst une fonction membre de la classe conteneur, utilisée pour insérer un ou plusieurs éléments à une position spécifiée dans la liste chaînée.
Dans la liste,insertA une complexité temporelle de O(1), car seuls les pointeurs doivent être ajustés.
Définitions de mots: insertSignifie « insert », c'est-à-dire ajouter un élément à une position spécifiée.
Syntaxe de base et paramètres
insertEst une fonction membre de la classe conteneur, qui nécessite de spécifier la position d'insertion et l'élément.
Format de syntaxe
iterator insert(iterator pos, const T& value); iterator insert(iterator pos, T&& value); void insert(iterator pos, size_type count, const T& value); template<class InputIt> void insert(iterator pos, InputIt first, InputIt last);
Description des paramètres
- Paramètre:
pos- Itérateur de la position d'insertion - Paramètre:
value- La valeur de l'élément à insérer
Description de la fonction
- Valeur de retour: Renvoie un itérateur pointant vers le premier élément inséré.
- Effet: Insère un élément à la position spécifiée, et les éléments suivants sont décalés vers l'arrière dans l'ordre.
Exemple
Exemple 1 : Utilisation de base - insertion d'un seul élément
Exemple
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "liste originale : ";
for(int n : numbers) std::cout << n << " ";
std::endl;
// Insérer 100 à la deuxième position (itérateur)
auto it = std::next(numbers.begin(), 1);
numbers.insert(it, 100);
std::cout << "Après l'insertion de 100 : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {1, 2, 3, 4, 5};
std::cout << "liste originale : ";
for(int n : numbers) std::cout << n << " ";
std::endl;
// Insérer 100 à la deuxième position (itérateur)
auto it = std::next(numbers.begin(), 1);
numbers.insert(it, 100);
std::cout << "Après l'insertion de 100 : ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Résultat d'exécution attendu :
原始 list: 1 2 3 4 5 插入 100 后: 1 100 2 3 4 5
Exemple 2 : Insertion de plusieurs éléments
Exemple
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {1, 5};
std::cout << "Original: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
// Insérer 3 zéros au milieu
auto it = numbers.begin();
std::advance(it, 1);
numbers.insert(it, 3, 0);
std::cout << Après l'insertion de 3 zéros :;
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {1, 5};
std::cout << "Original: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
// Insérer 3 zéros au milieu
auto it = numbers.begin();
std::advance(it, 1);
numbers.insert(it, 3, 0);
std::cout << Après l'insertion de 3 zéros :;
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
Résultat d'exécution attendu :
原始: 1 5 插入 3 个 0 后: 1 0 0 0 5
autres extensions