std::set mit Random-Acces-Iterator
-
Hallo,
ich bin auf der Suche nach einem Container, die wiestd::setfunktioniert, also das jedes Elemtent nur einmal vorkommt, und das die insert funktion auch den selben return Wert hat, allerdings einen Random Access Iterator hat, damit ich mit einem Index darauf zugreifen kann.
Gibt es sowas schon, oder muss ich mir das was selber basteln?
-
RAIterator schrieb:
Hallo,
ich bin auf der Suche nach einem Container, die wiestd::setfunktioniert, also das jedes Elemtent nur einmal vorkommt, und das die insert funktion auch den selben return Wert hat, allerdings einen Random Access Iterator hat, damit ich mit einem Index darauf zugreifen kann.std::advance.Wenn du die Geschwindigkeit eines Random-Access-Iterators brauchst: Brauchst du logarithmischen Zugriff auf ein Element nach Name? Brauchst du relativ schnelles Einfügen?
-
Auf die Geschwindigkeit kommt es jetzt nicht so stark drauf an, schadet aber natürlich nicht

std::advanceklingt gut, ist mit nicht ganz klar, wie ich dann die Position eines Iterators rausbekomme, der voninsertzurückgegeben wird.
-
RAIterator schrieb:
Auf die Geschwindigkeit kommt es jetzt nicht so stark drauf an, schadet aber natürlich nicht

std::advanceklingt gut, ist mit nicht ganz klar, wie ich dann die Position eines Iterators rausbekomme, der voninsertzurückgegeben wird.std::distance(iter, s.begin());
PS:
aber set hat doch schon einen index ueber den du auf einzelne ELemente zugreifen kannst. Was genau willst du denn mit den iteratoren machen?PPS:
manchmal ist ein sortierter vector fuer sowas besser.
-
[quote="Shade Of Mine"PS:
aber set hat doch schon einen index ueber den du auf einzelne ELemente zugreifen kannst. Was genau willst du denn mit den iteratoren machen?[/quote]
Seit wann denn das?Shade Of Mine schrieb:
PPS:
manchmal ist ein sortierter vector fuer sowas besser.Ja, ich habe mir jetzt auch einen sortierten, "einzigartigen" (jedes Element nur ein mal) gebastelt.