Speicher-Frage zu stl::map
-
Hi,
ich möchte ein Programm schreiben mit einer stl::map. Man sollte möglichst zwischendrin sehr leicht Elemente in der Mitte einfügen bzw. löschen können, so wie bei einer Liste.
Meine Frage: Ist stl::map eine Liste oder ein Vector oder hat sie ein anderes Speicherprinzip? Kann man das Speicherprinzip vllt mit eine Allocator auswählen?
Gruß,
Johannes
-
eine map ist keine liste und kein vector. du kannst ein x-beliebiges element nicht einfach in die mitte einer map einfügen, weil die map automatisch neu eingefügte elemente sortiert.
self-balancing binary search tree - map als sog. "balancierter baum"
der allocator beeinflusst das nicht, es gehört zum wesen einer map an sich. der allocator beeinflusst nur, wie speicher für die elemente angefordert wird.