Welchen Container verwenden
-
Hallo,
ich bin mir nicht sicher welchen Container ich benutzen soll... Vielleicht kann mir ja jemand helfen.
Ich habe eine Liste (list/vector/deque/...) von Elementen.
Diese wird per Iterator geteilt. D.H. ich habe ein paar Iteratoren die in die Liste reinzeigen und Anfangspunkte oder Endpunkte verschiedener Bereiche markieren.
Einzelne Elemente müssen immer wieder aus einem Bereich in einen anderen verschoben werden.
Ein Beispiel
1 < Start Bereich 1 2 3 4 5 < Start Bereich 2 (und Ende Bereich 1) 6 7 8 9 10 11 12 13 < Start Bereich 3 (und Ende Bereich 2) 14 15 16 17 18 19 20 < Ende Bereich 3 (= Ende der Liste)Jeweils der Beginn eines Bereiches soll nun also durch einen Iterator gekennzeichnet werden.
Im Beispiel soll jetzt ein beliebiges Element (z.B.
an den Anfang des nächsten Bereiches verschoben werden.
Das sieht dann so aus: ...,6,7,9,10,11,12,8,13,14,...Der Bereich 3 soll nun also bei der 8 beginnen.
Welcher Container ist für so eine Aufgabe?
Hat jemand eine bessere Idee um eine Liste so zu unterteilen wie ich?
-
http://blog.evilissimo.net/2006/07/01/c-container-choice-image/ Eine entscheidungshilfe.
-
Schau mal hier:
http://stackoverflow.com/questions/471432/in-which-scenario-do-i-use-a-particular-stl-container
-
Kommt auch drauf an, wie du zu den einzelnen Elementen (z.B.
gelangst. Iterierst du durch?Wahrscheinlich ist
std::listeine gute Möglichkeit, da kannst du performant einfügen und löschen. Wenn du die Iteratoren hast, brauchst du auch keinen Random Access.
-
@ Nexus, ich hab gar nicht alles gelesen, mir reichte die Überschrift um die Geile Grafik zu posten

-
Firefighter schrieb:
@ Nexus, ich hab gar nicht alles gelesen, mir reichte die Überschrift um die Geile Grafik zu posten

$
Dito. Wäre geil gewesen, wenn er dasselbe gepostet hätte. :p