C++ <list> insert-Funktion
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<class InputIt> 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;
}
#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;
}
#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
Weitere Erweiterungen