Problem

2/8

Ein Iterator in einem Vektor

Theory Click to read/hide

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_iteratorund 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,

Problem

Es ist eine Sequenz gegeben, die aus ganzen Zahlen besteht.  Schreiben Sie ein Programm, das den Vektor mit dem reverse_iteratorumkehrt.

Eingabe
Zuerst wird die Zahl N angegeben - die Anzahl der Elemente in der Sequenz (1<= N <= 100). Als nächstes werden N Zahlen durch ein Leerzeichen geschrieben.
 
Ausgabe
Zeigt alle Elemente des resultierenden Vektors in einer Zeile an und trennt sie durch Leerzeichen.
 
Beispiel
Eingabe Ausgabe
1 5
1 2 3 4 5
5 4 3 2 1