Fonction insert de C++ <list>

Classe conteneur 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&lt;class InputIt&gt;
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;
}

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;
}

Résultat d'exécution attendu :

原始: 1 5
插入 3 个 0 后: 1 0 0 0 5

Classe conteneur C++ <list>

autres extensions