STL
Wahl des geeigneten Containers
- Wie soll auf die Elemente zugegriffen werden?
direkter Zugriff: vector oder deque
- Ist die Reihenfolge, in der die Elemente im Container gespeichert
sind, wichtig?
- wenn über die gesamte Lebensdauer des Containers die Elemente in
definierter Reihenfolge gespeichert sein sollen, dann sortierten Container
verwenden ((multi-)set oder (multi-)map)
- wenn Sortierung nur zu einem bestimmten Zeitpunkt notwendig:
sequentiellen Container verwenden, Sortieralgorithmus laufen lassen, wenn
nötig
- wenn Sortierung anhand der Reihenfolge der Einfügung wichtig ist,
dann stack oder queue verwenden
- Ändert sich die Größe der Struktur während der Ausführung stark?
list oder set verwenden, denn vector oder deque
kann Größe in der Regel nur erhöhen
- Kann die Größe des Containers abgeschätzt werden?
vector bietet Möglichkeit, Speicherbereich im Vorfeld zu reservieren
- Muß häufig auf Inklusion bestimmter Werte getestet werden?
set oder map verwenden: Aufwand logarithmisch zur Größe des
Containers (bei sequentiellen Containern im schlechtesten Fall Vergleich mit
jedem Element)