Wie traverse-stack in C++?
Ist es möglich, die traverse std::stack
in C++?
Durchqueren die Verwendung der folgenden Methode ist nicht anwendbar. Da std::stack
hat kein Mitglied end
.
std::stack<int> foo;
//..
for (__typeof(foo.begin()) it = foo.begin(); it != foo.end(); it++)
{
//...
}
Das ist, warum es ist ein "stack". Last in, first out, das ist es (theoretisch).
mögliche Duplikate von std::stack setzen Iteratoren?
Sie haben gewählt, den falschen Datentyp. Verwenden Sie keine Stapel, wenn Sie wollen in der Lage sein zu Durchlaufen.
mögliche Duplikate von std::stack setzen Iteratoren?
Sie haben gewählt, den falschen Datentyp. Verwenden Sie keine Stapel, wenn Sie wollen in der Lage sein zu Durchlaufen.
InformationsquelleAutor Silap Aliyev | 2014-04-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht. Ein stack ist eine Datenstruktur, die Sie verwenden sollten, wenn Sie daran interessiert sind, platzieren von Elementen auf der Oberseite und erste Elemente von oben. Wenn Sie möchten, eine iterierbar Stapel verwenden Sie entweder eine andere Datenstruktur für einen stack Rolle (
std::vector
?) oder schreiben Sie selbst einer.InformationsquelleAutor utnapistim
Ich nicht denke, dass es möglich ist, zu durchqueren, durch einen stack. Die besten, die ich denken kann, ist mit der vector mit
std::vector
mitpush_back(), pop_back()
Den stack nicht ein begin-oder end-member-Funktion, so dass Sie nicht verwenden können, es mit einem range-basierte for-Schleife, die beide benötigt.
In deinem Fall wäre es besser, wählen eine andere Datenstruktur, wenn Sie wirklich wollen, zu Durchlaufen.
InformationsquelleAutor Rahul Tripathi
Als Sie erwähnt, müssen Sie den Druck für debugging-Zwecke, vielleicht so etwas wie dieses, würde für Sie arbeiten:
Ausgabe ist, wie erwartet, "9 11"
InformationsquelleAutor A. Knorre
Können wir nicht durchqueren, durch die Stapel. Stapel sind eine Art von container-Adapter, speziell entwickelt für den Betrieb in einer LIFO Kontext (last-in-first-out), in denen Elemente eingefügt und extrahiert nur von einem Ende des Containers. Elemente sind geschoben,/tauchte aus den "zurück" - der spezielle container, die bekannt ist als die oben auf dem Stapel. Es ist nicht beabsichtigt, für die stack-zeigen dieses Verhalten, für das haben wir andere Container
InformationsquelleAutor DNamto
http://en.cppreference.com/w/cpp/container/stack
InformationsquelleAutor Corvusoft