Freigeben über


deque (STL/CLR)

Die Vorlagenklasse beschreibt ein Objekt, das eine VARYING LENGTH-Folge von Elementen steuert, die den zufälligen Zugriff hat.Sie verwenden den Container deque, um eine Sequenz von Elementen zu verwalten, die z. B. ein Block zusammenhängender Speicherplatz aussieht, aber die an beiden Enden ohne wachsen oder verkleinern kann, alle übrigen Elemente kopiert werden sollen.Deshalb kann es double-ended queue effizient zu implementieren.Daher (der Name).

In der unten GValue interaktiven Beschreibung, ist dasselbe wie Value, es sei denn, das zweite ein ref-Typ ist. In diesem Fall wird Value^ ist.

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 kontrollierten Sequenz.

  • Wert
    Der Typ eines Elements in der kontrollierten Sequenz.

Mitglieder

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 Verweis 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 signierten Lücke 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 eines 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 signierten Lücke 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 an der angegebenen Position.

deque::back (STL/CLR)

Greift auf das letzte Element.

deque::begin (STL/CLR)

Legt den Anfang der kontrollierten Sequenz fest.

deque::clear (STL/CLR)

Entfernt alle Elemente.

deque::deque (STL/CLR)

Erstellt ein Containerobjekt.

deque::empty (STL/CLR)

Überprüft, ob 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 an einer angegebenen Position hinzu.

deque::pop_back (STL/CLR)

Entfernt das letzte Element.

deque::pop_front (STL/CLR)

Entfernt das erste Element aus.

deque::push_back (STL/CLR)

Fügt ein neues letztes 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 in ein neues Array.

Eigenschaft

Beschreibung

deque::back_item (STL/CLR)

Greift auf das letzte Element.

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 an der angegebenen Position.

operator< (Doppelschlange) (STL/CLR)

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

operator<= (Doppelschlange) (STL/CLR)

Bestimmt, ob ein deque-Objekt kleiner oder gleich dem Wert eines anderen deque-Objekt ist.

operator= (Doppelschlange) (STL/CLR)

Ersetzt die gesteuerte Sequenz.

operator== (Doppelschlange) (STL/CLR)

Bestimmt, ob ein deque-Objekt einem anderen Objekt entspricht. deque

operator> (Doppelschlange) (STL/CLR)

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

operator>= (Doppelschlange) (STL/CLR)

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

Schnittstellen

Schnittstelle

Beschreibung

ICloneable

Duplizieren Sie ein Objekt.

IEnumerable

Sequenz von Elementen.

ICollection

Behalten Sie unter ItemGroup.

IEnumerable<T>

Sequenz von typisierten Elemente.

ICollection<T>

Behalten Sie die Gruppe typisierte Elemente beibehalten.

IList<T>

Behalten Sie geordnete Gruppe typisierte Elemente beibehalten.

IDeque<Wert>

Warten Sie generischen Container.

Hinweise

Das Objekt wird auf und gibt Speicherplatz für die Sequenz frei, die er durch ein gespeichertes Array mit Handles steuert die Blöcke, die Value-Elemente.Das Array bei Bedarf vergrößert.Zunahme liegt daran, dass die Kosten entweder Voranstellens oder das Anfügen eines neuen Elements konstante Zeitpunkt sind, und keine weiteren Elemente gestört werden.Sie können ein Element an beiden Enden auch in der konstanter Zeit und ohne übrigen Elemente zu beeinträchtigen.Daher ist eine Doppelschlange ein guter Kandidat für den zugrunde liegenden Container für Vorlagenklasse Warteschlange (STL/CLR) oder Vorlagenklasse Stapel (STL/CLR).

Ein deque-Objekt unterstützt Iteratoren mit wahlfreier Zugriff, was bedeutet, dass Sie ein Element direkt zugreifen können, welche die numerische Position angegeben ist und von null (Vordere) für das erste Element in deque::size (STL/CLR)() - 1 für das letzte Element (hintere) gezählt werden.Dies bedeutet auch, dass eine Doppelschlange ein guter Kandidat für den zugrunde liegenden Container für Vorlagenklasse priority_queue (STL/CLR) ist.

Ein Doppelschlangen iterator speichert ein Handle für den zugeordneten Doppelschlangen Objekt zusammen mit der Gewichtung des Elements, das sie fest.Sie können Iteratoren nur mit den zugeordneten Containerobjekten verwenden.Die Neigung eines Doppelschlangen Elements ist not unbedingt identisch mit seiner Position.Das erste eingefügte Element verfügt über schräg Nullen, verfügt über das folgende Element angefügte schräg 1, jedoch mit folgenden vorangestellte Element verfügt über schräg -1.

Durch das Einfügen oder Löschen von Elementen an beiden Enden führt not ändern den Wert eines Elements, das mit jeder gültigen Neigung gespeichert wird.Ein inneren Element Einfügen oder Löschen can Änderung der Elementwert kann jedoch in einer angegebenen Neigung, sodass der gespeicherten Wert, der durch einen Iterator festgelegt ist, ändern.(Der Container Elemente müssen möglicherweise nach oben oder unten, um ein Loch kopieren, bevor eine Einfügung zu erstellen oder einem Loch nach einem Löschvorgang aus.) Trotzdem wird ein Doppelschlangen iterator gültig, solange ihre Neigung ein gültiges Element festlegt.Darüber hinaus wird ein gültiger Iterator dereferencable -- Sie können ihn verwenden, um den Elementwert zuzugreifen oder zu ändern, den er festgelegt wird -- solange ihre Neigung ungleich die Gewichtung für den Iterator, der von end() zurückgegeben wurde.

Entfernen oder Löschen eines Elements wird der Destruktor für den gespeicherten Wert an.Der Container zerstörend, löscht alle Elemente.Dies garantiert ein Container, dessen Elementtyp eine Verweisklasse wird, dass keine Elemente Überleben Container.Beachten Sie jedoch, dem ein Container, not Handle zerstört seine Elemente.

Anforderungen

Header: <cliext/Doppelschlange>

Namespace: cliext

Siehe auch

Referenz

Liste (STL/CLR)

priority_queue (STL/CLR)

Warteschlange (STL/CLR)

Stapel (STL/CLR)

Vektor (STL/CLR)

Weitere Ressourcen

STL/CLR-Bibliotheksreferenz