Pass stack to a function : stack « queue stack « C++ Tutorial






#include <iostream>
using std::cout;
using std::endl;

#include <stack>  // stack adapter definition
#include <vector> // vector class-template definition
#include <list>   // list class-template definition

template< typename T > void pushElements( T &stackRef );

template< typename T > void popElements( T &stackRef );

int main()
{
   std::stack< int > intDequeStack;

   cout << "Pushing onto intDequeStack: ";
   pushElements( intDequeStack );
   cout << endl << endl;

   cout << "Popping from intDequeStack: ";
   popElements( intDequeStack );
   cout << endl;
   return 0;
}

template< typename T > void pushElements( T &stackRef )
{
   for ( int i = 0; i < 10; i++ )
   {
      stackRef.push( i );
      cout << stackRef.top() << ' ';
   }
}

template< typename T > void popElements( T &stackRef )
{
   while ( !stackRef.empty() )
   {
      cout << stackRef.top() << ' ';
      stackRef.pop();
   }
}
Pushing onto intDequeStack: 0 1 2 3 4 5 6 7 8 9

Popping from intDequeStack: 9 8 7 6 5 4 3 2 1 0








21.1.stack
21.1.1.Instantiation of an STL Stack
21.1.2.Push and pop an int stack
21.1.3.Push and pop a vector stack
21.1.4.Push and pop a stack of list
21.1.5.Working with a stack of Integers
21.1.6.Stack: size, pop and push
21.1.7.Stack: size and push
21.1.8.Stack: top, empty
21.1.9.Modify the top element in a stack
21.1.10.stack of string and vector of string
21.1.11.A stack for characters
21.1.12.stack of pairs
21.1.13.Pass stack to a function