C ++ - Bibliothek - <Liste>
Einführung
List ist ein häufig verwendeter Sequenzcontainer. Container ist ein Objekt, das Daten des gleichen Typs enthält. Der Listencontainer ist als doppelt verknüpfte Liste implementiert und bietet daher bidirektionalen sequenziellen Zugriff auf seine Daten.
List bietet keinen schnellen Direktzugriff, sondern nur sequentiellen Zugriff in beide Richtungen. List ermöglicht das Einfügen und Löschen an einer beliebigen Stelle innerhalb einer Sequenz in konstanter Zeit.
Listenelemente können in verschiedenen Speicherblöcken verstreut sein. Der Container speichert die erforderlichen Informationen, um den sequentiellen Zugriff auf seine Daten zu ermöglichen. Listen können zur Laufzeit an beiden Enden zur Laufzeit verkleinert oder erweitert werden. Die Speicheranforderung wird automatisch durch den internen Allokator erfüllt.
Listen mit der Größe Null sind ebenfalls gültig. In diesem Fall zeigen list.begin () und list.end () auf dieselbe Position. Das Verhalten beim Aufrufen von front () oder back () ist jedoch undefiniert.
Definition
Unten finden Sie die Definition von std :: list aus der <list> -Headerdatei
template < class T, class Alloc = allocator<T> > class list;
Parameter
T - Typ des enthaltenen Elements.
T kann durch einen anderen Datentyp einschließlich eines benutzerdefinierten Typs ersetzt werden.
Alloc - Typ des Allokatorobjekts.
Standardmäßig wird die Allokatorklassenvorlage verwendet, die das einfachste Speicherzuordnungsmodell definiert und wertunabhängig ist.
Mitgliedertypen
Die folgenden Elementtypen können von Elementfunktionen als Parameter oder Rückgabetyp verwendet werden.
Sr.Nr. | Mitgliedertypen | Definition |
---|---|---|
1 | Werttyp | T (Erster Parameter der Vorlage) |
2 | allocator_type | Alloc (Zweiter Parameter der Vorlage) |
3 | Referenz | Werttyp& |
4 | const_reference | const value_type & |
5 | Zeiger | Werttyp* |
6 | const_pointer | const value_type * |
7 | Iterator | ein Iterator mit wahlfreiem Zugriff auf value_type |
8 | const_iterator | ein Iterator mit wahlfreiem Zugriff auf const value_type |
9 | reverse_iterator | std :: reverse_iterator <iterator> |
10 | const_reverse_iterator | std :: reverse_iterator <const_iterator> |
11 | size_type | size_t |
12 | Differenztyp | ptrdiff_t |
Funktionen von <Liste>
Unten finden Sie eine Liste aller Methoden aus dem <list> -Header.
Konstruktoren
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | list :: list Standardkonstruktor Erstellt eine leere Liste mit null Elementen. |
2 | list :: list fill Konstruktor Erstellt eine neue Liste mit n Elementen und weist jedem Listenelement einen Wert zu. |
3 | list :: list fill Konstruktor Erstellt eine neue Liste mit n Elementen und weist jedem Listenelement den Wert Null zu. |
4 | list :: list range Konstruktor Erstellt eine Liste mit so vielen Elementen wie im Bereich vom ersten bis zum letzten . |
5 | list :: list copy Konstruktor Erstellt eine Liste mit einer Kopie aller in der vorhandenen Liste vorhandenen Elemente. |
6 | list :: list move Konstruktor Erstellt eine Liste mit den Inhalten anderer mithilfe der Verschiebungssemantik. |
7 | list :: list initializer list Konstruktor Erstellt eine Liste mit den Inhalten anderer mithilfe der Verschiebungssemantik. |
Zerstörer
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | list :: ~ list Zerstört das Listenobjekt durch Freigabe seines Speichers. |
Mitgliedsfunktionen
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | list :: Range-Version zuweisen Weist der Liste einen neuen Wert zu, indem alte ersetzt werden. |
2 | list :: fülle die Füllversion zu Weist der Liste neue Werte zu, indem alte ersetzt werden. |
3 | list :: Initialisiererlistenversion zuweisen Weist der Liste neue Werte zu, indem alte ersetzt werden. |
4 | list :: back Gibt einen Verweis auf das letzte Element der Liste zurück. |
5 | list :: begin Gibt einen Iterator mit wahlfreiem Zugriff zurück, der auf das erste Element der Liste verweist. |
6 | list :: cbegin Gibt einen konstanten Iterator mit wahlfreiem Zugriff zurück, der auf den Anfang der Liste zeigt. |
7 | list :: cend Gibt einen konstanten Iterator mit wahlfreiem Zugriff zurück, der auf das Ende der Liste zeigt. |
8 | list :: clear Zerstört die Liste, indem alle Elemente aus der Liste entfernt werden und die Größe der Liste auf Null gesetzt wird. |
9 | list :: crbegin Gibt einen konstanten umgekehrten Iterator zurück, der auf das letzte Element der Liste zeigt. |
10 | list :: crend Gibt einen konstanten Umkehriterator zurück, der auf das theoretische Element vor dem ersten Element in der Liste zeigt. |
11 | list :: emplace Erweitert die Liste durch Einfügen eines neuen Elements an einer bestimmten Position. |
12 | list :: emplace_back Fügt am Ende der Liste ein neues Element ein und vergrößert die Liste um eins. |
13 | list :: emplace_front Fügt am Anfang der Liste ein neues Element ein und vergrößert die Liste um eins. |
14 | list :: empty Testet, ob die Liste leer ist oder nicht. |
15 | list :: end Gibt einen Iterator mit wahlfreiem Zugriff zurück, der auf das letzte Element der Liste verweist. |
16 | list :: Positionsversion löschen Entfernt ein einzelnes Element aus der Liste. |
17 | list :: erase range version Entfernt den Elementbereich aus der Liste. |
18 | list :: front Gibt einen Verweis auf das erste Element der Liste zurück. |
19 | list :: get_allocator Gibt einen der Liste zugeordneten Allokator zurück |
20 | list :: Einzelelementversion einfügen Erweitert den Iterator durch Einfügen eines neuen Elements an der Position in der Liste. |
21 | list :: fülle die Füllversion ein Erweitert die Liste durch Einfügen neuer Elemente in den Container. |
22 | list :: range version einfügen Erweitert die Liste durch Einfügen neuer Elemente in den Container. |
23 | list :: move version einfügen Erweitert die Liste durch Einfügen eines neuen Elements in den Container. |
24 | list :: Initialisierungslistenversion einfügen Erweitert die Liste durch Einfügen neuer Elemente in den Container |
25 | list :: max_size Gibt die maximale Anzahl von Elementen zurück, die von der Liste gehalten werden können. |
26 | list :: merge Fügt zwei sortierte Listen zu einer zusammen. |
27 | list :: merge Vergleichsfunktion Fügt zwei sortierte Listen zu einer zusammen. |
28 | list :: merge move version Fügt zwei sortierte Listen mithilfe der Verschiebungssemantik zu einer zusammen. |
29 | list :: merge vergleiche Funktion verschiebe Version Fügt zwei sortierte Listen mithilfe der Verschiebungssemantik zu einer zusammen. |
30 | list :: operator = Version kopieren Weist der Liste neue Inhalte zu, indem alte ersetzt werden. |
31 | list :: operator = Version verschieben Weisen Sie der Liste neue Inhalte zu, indem Sie alte ersetzen. |
32 | list :: operator = Version der Initialisierungsliste Weisen Sie der Liste neue Inhalte zu, indem Sie alte ersetzen. |
33 | list :: pop_back Entfernt das letzte Element aus der Liste. |
34 | list :: pop_front Entfernt das erste Element aus der Liste. |
35 | list :: push_back Fügt am Ende der Liste ein neues Element ein. |
36 | list :: push_back move version Fügt am Ende der Liste ein neues Element ein. |
37 | list :: push_front Fügt am Anfang der Liste ein neues Element ein. |
38 | list :: push_front move version Fügt am Anfang der Liste ein neues Element ein. |
39 | list :: rbegin Gibt einen umgekehrten Iterator zurück, der auf das letzte Element der Liste zeigt. |
40 | list :: remove Entfernt Elemente aus der Liste, die dem Wert entsprechen. |
41 | list :: remove_if Entfernt Elemente aus der Liste, die die Bedingung erfüllen. |
42 | list :: rend Gibt einen umgekehrten Iterator zurück, der auf das umgekehrte Ende der Liste zeigt. |
43 | list :: resize Ändert die Größe der Liste. |
44 | list :: resize value version Ändert die Größe der Liste. |
45 | list :: reverse Kehrt die Reihenfolge der in der Liste enthaltenen Elemente um. |
46 | list :: size Gibt die Anzahl der in der Liste vorhandenen Elemente zurück. |
47 | list :: sort Sortiert die Elemente der Liste. |
48 | list :: sort Vergleichsfunktion Sortiert die Elemente der Liste. |
49 | list :: splice Überträgt alle Elemente von der Liste auf * this. |
50 | list :: splice single element Überträgt ein Element, auf das der Iterator i zeigt, aus Liste x in * this . |
51 | list :: splice move version Überträgt alle Elemente von Liste x auf * dies mithilfe der Verschiebungssemantik. |
52 | list :: splice range version Überträgt die Elemente im Bereich von zuerst bis zuletzt von x nach * this . |
53 | list :: splice single element move version Überträgt das Element, auf das der Iterator i zeigt, mithilfe der Verschiebungssemantik von Liste x in * this . |
54 | list :: splice range und move version Überträgt die Elemente im Bereich von zuerst bis zuletzt von x nach *, indem die Bewegungssemantik verwendet wird. |
55 | list :: swap Tauscht den Inhalt der Liste gegen den Inhalt einer anderen Liste aus x . |
56 | list :: unique Entfernt alle aufeinanderfolgenden doppelten Elemente aus der Liste. |
57 | list :: unique Entfernt alle aufeinanderfolgenden doppelten Elemente aus der Liste. |
Überladene Funktionen ohne Mitglieder
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | operator == Testet, ob zwei Listen gleich sind oder nicht. |
2 | Operator! = Testet, ob zwei Listen gleich sind oder nicht. |
3 | Operator < Testet, ob die erste Liste kleiner als die andere ist oder nicht. |
4 | Operator <= Testet, ob die erste Liste kleiner oder gleich der anderen ist oder nicht. |
5 | Betreiber> Testet, ob die erste Liste größer als die andere ist oder nicht. |
6 | Operator> = Testet, ob die erste Liste größer oder gleich der anderen ist oder nicht. |
7 | Tauschen Tauscht den Inhalt von zwei Listen aus. |