std::vector vs std::stack

Was ist der Unterschied zwischen std::vector und std::stack?

Offensichtlich Vektoren können löschen Sie die Elemente in der Auflistung (wenn auch viel langsamer als Liste) in der Erwägung, dass der stack ist gebaut, um einen LIFO-nur Abholung.

Allerdings stapeln sich schneller für das end-Element-manipulation? Ist es eine verknüpfte Liste oder dynamisch neu zugewiesen array?

Kann ich nicht finden viele Informationen über stacks, aber wenn ich Malte Sie richtig (Sie sind ähnlich eines tatsächlichen thread-stack; push, pop, etc. zusammen mit, dass top() Methode), dann werden Sie scheinen perfekt für Fenster-stacking-management.

  • Ersteres ist ein container, der letztere ist ein container-adapter.
  • "wenn auch viel langsamer als Liste" Theoretisch, ja. Praktisch keine. vector zu übertreffen list für fast jeden Anwendungsfall.
  • für das löschen von Datensätzen in der Mitte von großen Vektor-datasets? Ist nicht viel langsamer als die Listen, die sind doppelt aufgeführt?
  • Möglich, Duplikat der Was ist der wesentliche Unterschied zwischen einem Vektor und einem stack?
InformationsquelleAutor Qix | 2012-09-18
Schreibe einen Kommentar