"Merging Iterator"
-
Hallo
Ich brauche einen Iterator, der über zwei sortierte Sequenzen iterieren kann. Sprich, wenn die Sequenzen {2,5,13} und {3,7,11} sind, dann soll der Iterator sich so verhalten, als würde er über {2,3,5,7,11,13} iterieren. Gibt es so etwas, z.B. in boost?
Der Grund wieso ich das brauche, ist, weil die Vergleichsoperatoren in meinem Fall teuer sind und der Algorithmus fast nie die ganze gemergete Sequenz braucht.LG
-
Schau dir mal diesen Beitrag auf Stackoverflow an.
-
Ich kenne
boost::zip_iterator
, aber der tut nicht was ich möchte. Ich will zwei Sequenzen mergen, nicht die jeweils n-ten Elemente in ein Tuple packen. Mein Beispiel war vll. etwas unglücklich gewählt; ein anderes: {1,5},{2,3,4}->{1,2,3,4,5}
-
Ist das nicht etwas, das du in 20 Minuten selber schreiben könntest? Nimm zwei Iteratoren, gib immer den kleineren zurück.
-
Das ist auch was ich jetzt gemacht habe. Ich habe gehofft, dass es sowas schon gibt, damit ich mir das (auch in der Zukunft) sparen kann.
LG
-
Fytch schrieb:
Das ist auch was ich jetzt gemacht habe. Ich habe gehofft, dass es sowas schon gibt, damit ich mir das (auch in der Zukunft) sparen kann.
Reich deine Lösung bei Boost ein!