Benötige "Liste" zum suchen und löschen von Elementen
-
Hi zusammen,
ich benötige einen Datentyp in dem ich viele ELemente speichern kann.
Man soll innerhalb dieses Datentyps auf Elemente zugreifen, also diese suchen und dann auch aus dem Datentyp löschen.
bei std::vector und std::list meine ich mich etwas auszukennen.Ich habe da an die std::list gedacht, da diese das löschen von Elementen innerhalb der Liste gut unterstützt.
Aber es gibt ja keine andere Möglichkeit das Element in der std::list zu suchen, indem man über alle Elemente in der std::list iteriert.
Die Datentypen std::map und std::multimap unterstützen die
find()
Methode, was ja für mich ganz nütlich wäre, sind diese Datentypen dafür dann besser geeignet?
-
Eventuell das hier?
http://www.cplusplus.com/reference/stl/queue/
http://www.cplusplus.com/reference/stl/deque/Es unterstützt zwar die Methode "find()" auch nicht. Aber hier kannst du bei der einen auch von hinten durchwandern. Aber eventuell haben die anderen noch bessere Vorschläge.
-
-
Wie wäre es mit std::find?
http://www.cplusplus.com/reference/algorithm/find.html
Den kannst du auf jenden Standardcontainer anwenden.
-
Die Abbildung "Containerchoice" ist ja echt nett.
Habe ich jetzt dann auf den Containertyp deque festgelegt und kann dann dank derstd::find()
Methode also auch einfach meine Elemente im Container finden.
Vielen Dank euch allen!!
-
redbomber schrieb:
Die Abbildung "Containerchoice" ist ja echt nett.
Habe ich jetzt dann auf den Containertyp deque festgelegt und kann dann dank derstd::find()
Methode also auch einfach meine Elemente im Container finden.
Vielen Dank euch allen!!
Wenn du sortiert einspeicherst bzw du sortierst iwo, kannst du auch std::binary_search verwenden
-
Oder du verwendest gleich einen assoziativen Container wie
std::set
, der die Elemente gerade sortiert abspeichert. Dann dauert der Zugriff auch kürzer...