Reverse_iterator -> iterator mit gleicher Position
-
Hallo,
Ich habe eine Liste von Zahlen, in welcher ich den niedrigsten Wert suchen möchte.
Da es diesen Wert mehrfach geben kann, ich aber den ersten von rechts brauche, verwende ich einen reverse_iterator.
Was ich jetzt möchte, ich habe beispielsweise folgende Liste:
1 0 1 3 0
Ich stelle fest, dass das rechteste Element das niedrigste ist und speichere mir diesen reverse_iterator.
Für spätere Operationen möchte ich allerdings wieder einen normalen Iterator haben. Wenn ich base() vom revi nehme, erhalte ich aber keinen Iterator auf das letzte, sondern auf das erste (glaube ich, zumindest aber ein anderes) Element.
Wie erhalte ich jetzt einen iterator, welcher auf das gleiche Element wie reverse_iterator zeigt?
Anmerkung:
Vielleicht sollte ich auch mit dem Revi weitermachen, ich möchte halt später darauf prüfen, ob der auf dem letzten oder auf dem ersten Element etc. ist und das sieht mir besser aus, wenn ich Listenanfang und iterator einfach durch iterator != liste.begin() vergleichen kann statt rend()).Viele Grüße
-
Ich schlage vor die Doku zu lesen, besonders was reverse_iterator::base() tut:
http://www.cplusplus.com/reference/std/iterator/reverse_iterator/base/
http://msdn.microsoft.com/en-us/library/10sbbf0k.aspxSimon
-
Oh.
Irgendwie habe ich viel danach gesucht aber genau diesen Punkt nicht gefunden, warum auch immer...
Okay, vielen Dank
