stack-Klasse
Eine Vorlagencontainer-Adapterklasse, die eine Einschränkung der Funktionalität Zugriff auf Element zuletzt stellt beschränken, das auf ein zugrunde liegendes Containertyp hinzugefügt wird. Die Stapelklasse wird verwendet, sobald wichtig ist, klar zu sein, dass nur Stapelvorgänge im Container ausgeführt werden.
template <
class Type,
class Container=deque<Type>
>
class stack
Parameter
Typ
Der im Stapel zu speichernden Elementdatentyp.Container
Der Typ des zugrunde liegenden Containers verwendet, um dem Stapel zu implementieren. Der Standardwert ist der Klassen deque*<Typ>*.
Hinweise
Die Elemente der Klasse Typ vereinbart im ersten Vorlagenparameter eines Stapelobjekts sind mit value_type synonym und müssen den Typ des Elements in der zugrunde liegenden Containerklasse Container übereinstimmen vereinbart vom zweiten Vorlagenparameter. Typ zugewiesen werden muss, damit es möglich, Objekte dieses Typs zu kopieren ist und Werte in Variablen dieses Typs zuzuweisen.
Passende zugrunde liegende Containerklassen für Stapel enthalten Doppelschlange, Liste und Vektor oder anderen Sequenzcontainer der Vorgänge, die von back, push_back und pop_back unterstützt. Die zugrunde liegende Containerklasse wird innerhalb des Containeradapters gekapselt, der nur den eingeschränkten Satz der Sequenzcontainermemberfunktionen als öffentliche Schnittstelle verfügbar macht.
Die Stapelobjekte sind wenn auf Gleichheit vergleichbar und nur die Elemente der Klasse Typ auf Gleichheit sind vergleichbar und sind weniger-als vergleichbar und wenn nur die Elemente der Klasse Typ sind weniger-als vergleichbar.
Die Stapelklasse unterstützt eine Datenstruktur Last In, First Out (LIFO). Eine gut zu beachten Entsprechung wäre ein Stapel Platten sein. Elemente (Platten) werden nur von der obersten Position im Stapel eingefügt werden, überprüft oder entfernt werden, der das letzte Element am Ende des Basiscontainers ist. Die Einschränkung zum Zugriff nur auf das oberste Element ist der Grund für die Verwendung der Stapelklasse.
Warteschlangeklasse unterstützt eine Datenstruktur First In, First Out (FIFO). Eine gut zu beachten Entsprechung würde die Personen sein, die für einen Kassierer ausrichten. Elemente (Personen) werden zur Umkehrung der Zeile entfernt und werden aus der Vorderseite der Zeile hinzugefügt werden. werden die Vorder- und Rückseite einer Zeile überprüft werden. Die Einschränkung zum Zugriff nur auf die Vorder- und back-Elemente ist auf diese Weise der Grundpelz mit Warteschlangeklasse.
priority_queue Klasse ordnet seine Elemente, sodass das größte Element immer oben Position befindet. Sie unterstützt Einfügen eines Elements und der Überprüfung und das Entfernen des obersten Elements. Eine gut zu beachten Entsprechung würde die Personen sein, die so ausrichten, wo sie von Alter, Höhe oder ein anderes Kriterium angeordnet werden.
Konstruktoren
Erstellt stack, das leer ist, oder das eine Kopie eines Basiscontainerobjekts ist. |
Typedefs
Ein Typ, der den von stack bietet angepasst werden Basiscontainer. |
|
Eine Ganzzahltyp ohne Vorzeichen, der die Anzahl von Elementen in stack darstellen kann. |
|
Ein Typ, der den Typ des Objekts gespeichert als Element in stack darstellt. |
Memberfunktionen
Testet, ob stack leer ist. |
|
Entfernt das Element oben aus dem stack. |
|
Fügt ein Element oben stack hinzu. |
|
Gibt die Anzahl von Elementen in der stack zurück. |
|
Gibt einen Verweis auf ein Element oben im stack zurück. |
Anforderungen
Header: <Stapel>
Namespace: std
Siehe auch
Referenz
Threadsicherheit in der C++-Standardbibliothek