Iter
Eine Möglichkeit, Elemente in
Behälter (Datenstrukturen)
Gelände (seufzt)
iterator
)
♪Es gibt verschiedene Arten.
Iter- Ja. Die Datenstruktur, die " Punkte " zu einem bestimmten Element des Behälters, und (für einige Behälter) kann sich zum vorherigen/extent Element bewegen.
Der Vektor verwendet die mächtigsten -
terator mit beliebigem Zugriff (seufzt)
random-access Iterator
) Ein Ventor mit beliebigem Zugriff kann sich neben einer aufeinanderfolgenden Verschiebung zu einem beliebigen Vektorelement drehen.
Iterators ' Vorteile(1) Bei der Entfernung von Zellen und der Überfüllung von Zellen durch Indizes (
[]
( Wir müssen die Anzahl der verbleibenden Elemente im Auge behalten, damit wir nicht über den Vektor hinausgehen, und wir können den Heterator verwenden
end()
zeigt am Ende des Vektors.
(2) Iteror kann leicht entfernen und Elemente in den Vektor einfügen.
Mitteilung der Kommission
(1) Ankündigung des Iterators für den gesamten Vektor und dessen Bezugnahme auf
Erste Vektorelement.
Vektor Évent myvector = { 1, 2, 3, 4, 5};
Vektor Øint Bestandteil::iterator it = myvector.begin();
(2) Ankündigung des Iterators für den gesamten Vektor und dessen Bezugnahme auf das Element nach
vonvektor.
Vektor Évent myvector = { 1, 2, 3, 4, 5};
Vektor verint Bestandteil::iterator it = myvector.end(); / gibt das Element nach dem letzten an.
Vektor Øint Bestandteil::iterator it1 = myvector.end() - 1 ; / Bezug auf das letzte Element.
Empfang und Rücknahme von Werten
Empfang und Entnahme des durch den Terator angegebenen Elements.
cout PERO*it;
Verlagerung der Iteratorposition
Verlagerung der Häteratorposition auf 3 Positionen vorwärts.
Vorschuss (it, 3);
Erstellung eines neuen Iterators basierend auf bestehenden
Erstellung eines neuen Iterators basierend auf einem vorhandenen 3-Punkt-Vorschub.
auto it1 = next(it, 3);
Hector Ausgabe
Vektorpipelineint Bestandteil::iterator es;
für (es = myvector.begin(); it= myvector.end(); ++it) {
cout send*it editor;
♪
Vector rund
Umgekehrtes Gelände wird verwendet, um den Vektor vom letzten Element zum ersten zu umgehen.
reverse_iterator
und ist mit
(1)
rbegin()
- gibt den Reverse Terator zurück, der das letzte Vektorelement angibt, die Operation
++
führt zum Übergang zum vorherigen Element;
(2)
rend()
Wiederholen Sie den Reverse Terator, der das vorherige erste Vektorelement angibt, führt der Betrieb ++ zum nächsten.
vektor-startint Bestandteil:reverse_iterator it = myvector.rbegin(); / gibt das letzte Element an
Vektornavigational:reverse_iterator it = myvector.rend(); / gibt das Element an
/ die bis zum ersten ist,