Freigeben über


deque (STL/CLR)

Die Vorlagenklasse beschreibt ein Objekt, das eine VARYINGLängen-Folge von Elementen steuert, die wahlfreien Zugriff hat. Mit dem Container deque, um eine Sequenz von Elementen zu verwalten, die wie ein zusammenhängender Block Speicher aussieht, die an jedem Ende ohne die Anforderung wächst oder verringern kann, alle verbleibenden Elemente zu kopieren. Daher kann sie double-ended queue effizient implementieren. (Daher der Name).

In der unten stehenden Beschreibung, GValue ist das Value identisch, es sei denn, das zweite ein Referenz-Typ ist, in diesem Fall Value^ dar.

template<typename Value>
    ref class deque
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::IDeque<GValue>
    { ..... };

Parameter

  • GValue
    Der generische Typ eines Elements in der Sequenz. gesteuerten

  • Wert
    Der Typ eines Elements in der kontrollierten Sequenz.

Member

Typdefinition

Beschreibung

deque::const_iterator (STL/CLR)

Der Typ eines konstanten Iterators für die gesteuerte Sequenz.

deque::const_reference (STL/CLR)

Der Typ eines konstanten Verweises auf ein Element.

deque::const_reverse_iterator (STL/CLR)

Der Typ eines konstanten umgekehrten Iterators für die gesteuerte Sequenz.

deque::difference_type (STL/CLR)

Der Typ eines Abstands mit Vorzeichen zwischen zwei Elementen.

deque::generic_container (STL/CLR)

Der Typ der generischen Schnittstelle für den Container.

deque::generic_iterator (STL/CLR)

Der Typ eines Iterators für die generische Schnittstelle für den Container.

deque::generic_reverse_iterator (STL/CLR)

Der Typ eines umgekehrten Iterators für die generische Schnittstelle für den Container.

deque::generic_value (STL/CLR)

Der Typ des Elements für die generische Schnittstelle für den Container.

deque::iterator (STL/CLR)

Der Typ eines Iterators für die gesteuerte Sequenz.

deque::reference (STL/CLR)

Der Typ eines Verweises auf ein Element.

deque::reverse_iterator (STL/CLR)

Der Typ eines umgekehrten Iterators für die gesteuerte Sequenz.

deque::size_type (STL/CLR)

Der Typ eines Abstands mit Vorzeichen zwischen zwei Elementen.

deque::value_type (STL/CLR)

Der Typ eines Elements.

Memberfunktion

Beschreibung

deque::assign (STL/CLR)

Ersetzt alle Elemente.

deque::at (STL/CLR)

Greift auf ein Element in einer angegebenen Position zu.

deque::back (STL/CLR)

Greift auf das letzte Element zu.

deque::begin (STL/CLR)

Legt den Anfang der kontrollierten Sequenz fest.

deque::clear (STL/CLR)

Entfernt alle Elemente.

deque::deque (STL/CLR)

Erstellt ein container-Objekt.

deque::empty (STL/CLR)

Testet, dass keine Elemente vorhanden sind.

deque::end (STL/CLR)

Legt das Ende der kontrollierten Sequenz fest.

deque::erase (STL/CLR)

Entfernt Elemente an den angegebenen Positionen.

deque::front (STL/CLR)

Greift auf das erste Element zu.

deque::insert (STL/CLR)

Fügt Elemente in einer bestimmten Position hinzu.

deque::pop_back (STL/CLR)

Entfernt das letzte Element.

deque::pop_front (STL/CLR)

Entfernt das erste Element.

deque::push_back (STL/CLR)

Fügt ein neues letzte Element hinzu.

deque::push_front (STL/CLR)

Fügt ein neues erstes Element hinzu.

deque::rbegin (STL/CLR)

Legt den Anfang der umgekehrten kontrollierten Sequenz fest.

deque::rend (STL/CLR)

Legt das Ende der umgekehrten kontrollierten Sequenz fest.

deque::resize (STL/CLR)

Ändert die Anzahl der Elemente.

deque::size (STL/CLR)

Ermittelt die Anzahl der Elemente.

deque::swap (STL/CLR)

Vertauscht den Inhalt von zwei Containern.

deque::to_array (STL/CLR)

Kopiert die gesteuerte Sequenz zu einem neuen Array.

Eigenschaft

Beschreibung

deque::back_item (STL/CLR)

Greift auf das letzte Element zu.

deque::front_item (STL/CLR)

Greift auf das erste Element zu.

Operator

Beschreibung

deque::operator!= (STL/CLR)

Bestimmt, ob zwei deque-Objekte ungleich sind.

deque::operator[] (STL/CLR)

Greift auf ein Element in einer angegebenen Position zu.

operator< (deque) (STL/CLR)

Bestimmt, ob ein deque-Objekt kleiner als ein anderes deque-Objekt ist.

operator<= (deque) (STL/CLR)

Bestimmt, ob ein deque-Objekt maximal ein anderes deque-Objekt ist.

operator= (deque) (STL/CLR)

Ersetzt die gesteuerte Sequenz.

operator== (deque) (STL/CLR)

Bestimmt, ob ein deque-Objekt ein anderes Objekt gleich deque ist.

operator> (deque) (STL/CLR)

Bestimmt, ob ein deque-Objekt größer als ein anderes deque-Objekt ist.

operator>= (deque) (STL/CLR)

Bestimmt, ob ein deque-Objekt größer oder gleich einem anderen deque-Objekt ist.

Schnittstellen

Schnittstelle

Beschreibung

ICloneable

Ein Objekt duplizieren.

IEnumerable

Sequenz durch Elemente.

ICollection

Unbegrenztes Beibehalten Elementgruppe bei.

IEnumerable

Sequenz von typisierten Elemente.

ICollection

Unbegrenztes Beibehalten Gruppe typisierten Elemente bei.

IList

Maintain bestellte Gruppe typisierten Elemente.

IDequeValue <>

Warten Sie generischen Container.

Hinweise

Das Objekt belegt und gibt die Sequenz für Speicher frei, die durch ein gespeichertes Array von Handles steuert, die vorgesehene Blöcke Value-Elemente. Das Array nimmt bei Bedarf. Erhöhung tritt auf, sodass die Kosten entweder mit Voranstellens oder des Anfügens eines neuen Elements konstante Zeit sind, und keine verbleibenden Elemente behindert werden. Sie können ein Element an jedem Ende in der konstanten Zeit und ohne beunruhigende verbleibende Elemente auch entfernen. Daher ist eine Doppelschlange gut für den zugrunde liegenden Container für Vorlagenklasse queue (STL/CLR) oder Vorlagenklasse stack (STL/CLR).

Ein deque-Objekt unterstützt Iteratoren mit wahlfreier Zugriff, dass Sie ein Element verweisen kann, das direkt deque::size (STL/CLR)() - 1 für das letzte (Hintergrundfarbe) Element seine numerische Position angegeben und Null für das erste Element (vordere) zählen. Dies bedeutet auch, dass eine Doppelschlange gut für den zugrunde liegenden Container für Vorlagenklasse priority_queue (STL/CLR) ist.

Ein Doppelschlangeniterator speichert ein Handle auf dem zugeordneten Doppelschlangenobjekt, zusammen mit der die Neigung des Elements, das sie festgelegt werden. Sie können Iteratoren nur mit ihren zugeordneten Containerobjekten verwenden. Durch Neigen eines Doppelschlangenelements not ist unbedingt identisch seine Position. Das erste Element hat schräges eingefügte null, hat das folgende schräges angefügte Element 1, aber der nächste vorangestellte Element verfügt schräges -1.

Das Einfügen oder Löschen von Elementen an jedem Ende hat not ändern den Wert eines Elements, das bei jeder gültigen Neigung gespeichert wird. Ein Innenelement Einfügen oder Löschen kann jedoch can Änderung Elementwert, der an einer angegebenen Neigung, sodass gespeichert werden, der Wert, der durch einen Iterator festgelegt ist, ändern. (Der Container kann Elemente muss auf oder ab kopieren, um ein Loch vor einer Einfügung zu erstellen oder ein Loch nach einem Löschvorgang auszufüllen.) Trotzdem bleibt ein Doppelschlangeniterator gültig, solange die Neigung ein gültiges Element festlegt. Darüber hinaus wird ein gültiger dereferencable Iterator - Sie können ihn verwenden, um auf den Elementwert zuzugreifen oder zu ändern, der festlegt wird - sofern die Neigung ungleich die Neigung für den Iterator ist, der von end() zurückgegeben wird.

Ein Element Löschen oder entfernen, wird der Destruktor für den gespeicherten Wert auf. Die Container Löschen eines Auflistungsobjekts, löscht alle Elemente. Somit wird sichergestellt ein Container, dessen Elementtyp eine Verweisklasse, ist, dass keine Elemente den Container Beibehaltene Objekte. Beachten Sie jedoch dem Container Handles not bewirkt, zerstören seine Elemente.

Anforderungen

Header: <cliext/Doppelschlange>

Namespace: cliext

Siehe auch

Referenz

list (STL/CLR)

priority_queue (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Weitere Ressourcen

Referenz zur STL/CLR-Bibliothek