C++ <list> insert-Funktion

C++-Containerklasse <list>


insertwird in list fürFügt ein Element an einer angegebenen Position einFunktionen verwendet und ist die flexibelste Operation von verketteten Listen.

insertIst eine Mitgliedsfunktion der Containerklasse, die verwendet wird, um ein oder mehrere Elemente an einer angegebenen Position in der verketteten Liste einzufügen.

In der Liste,insertHat eine Zeitkomplexität von O(1), da nur Zeiger angepasst werden müssen.

Wortdefinitionen: insertBedeutet „einfügen“, d. h. Hinzufügen eines Elements an einer angegebenen Position.


Grundlegende Syntax und Parameter

insertIst eine Mitgliedsfunktion der Containerklasse, bei der die Einfügeposition und das Element angegeben werden müssen.

Syntaxformat

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

Parameterbeschreibung

  • Parameter: pos- Iterator der Einfügeposition
  • Parameter: value- Der Wert des einzufügenden Elements

Funktionsbeschreibung

  • Rückgabewert: Gibt einen Iterator zurück, der auf das erste eingefügte Element zeigt.
  • Wirkung: Fügt ein Element an der angegebenen Position ein, und nachfolgende Elemente werden der Reihe nach nach hinten verschoben.

Beispiel

Beispiel 1: Grundlegende Verwendung – Einfügen eines einzelnen Elements

Beispiel

#include <iostream>
#include <list>

int main() {
    std::list<int> numbers = {1, 2, 3, 4, 5};

    std::cout << "ursprüngliche Liste: ";
    for(int n : numbers) std::cout << n << " ";
    std::endl;

    // 100 an der zweiten Position (Iterator) einfügen
    auto it = std::next(numbers.begin(), 1);
    numbers.insert(it, 100);

    std::cout << "Nach dem Einfügen von 100: ";
    for(int n : numbers) std::cout << n << " ";
    std::cout << std::endl;

    return 0;
}

Erwartetes Ausführungsergebnis:

原始 list: 1 2 3 4 5
插入 100 后: 1 100 2 3 4 5

Beispiel 2: Mehrere Elemente einfügen

Beispiel

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

    // 3 Nullen in der Mitte einfügen
    auto it = numbers.begin();
    std::advance(it, 1);
    numbers.insert(it, 3, 0);

    std::cout << Nach dem Einfügen von 3 Nullen:;
    for(int n : numbers) std::cout << n << " ";
    std::cout << std::endl;

    return 0;
}

Erwartetes Ausführungsergebnis:

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

C++-Containerklasse <list>

Weitere Erweiterungen