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.