Располагая объектом типа stack, распечатайте по порядку его элементы (не изменяя содержимое самого стека).
Я все таки изменил содержимое стека, а потом заново загнал стек. Да как то в std::stack нету ни итераторов ни operator[]() я даже не знаю как к нему подступится, поэтому сделал не долго думая.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include <iostream> using std::cout; using std::endl; #include <stack> using std::stack; #include <vector> using std::vector; int main() { stack<int> s; stack<int> s2; for(int i=0;i<4;i++) s.push(i*10); //racpechataem po por9dky //без изменения содержимого стека while(!s.empty()) { cout <<s.top()<<endl; s2.push(s.top()); s.pop(); } while(!s2.empty()) { s.push(s2.top()); s2.pop(); } cout <<"s.top()= "<<s.top()<<endl; return 0; } |
[youtube]http://www.youtube.com/watch?v=PGuhKdNHSyQ[/youtube]