stack of pairs : stack « queue stack « C++ Tutorial






#include <iostream>
#include <stack>
#include <string>
#include <utility>

using namespace std;

template <class T>
void print(T& c){
   for( typename T::iterator i = c.begin(); i != c.end(); i++ ){
      std::cout << *i << endl;
   }
}


int main( )
{
   const int num_loads = 5;
   const int palettes[num_loads] = { 7, 6, 2, 5, 10 };
   const char* destinations[num_loads] = { "A", "B","C", "D", "E" };

   // load up the truck
   stack< pair<int,string> > truck;
   cout << "LOADING TRUCK";
   for( int i = 0; i < num_loads; ++i )
   {
      truck.push( make_pair( palettes[i], destinations[i] ) );
      cout << "\nLoaded " << truck.top().first << " palettes for " << truck.top().second;
   }

   // make the trip
   cout << "\n\nTRUCK EN ROUTE";
   while( !truck.empty() )
   {
      cout << "\nDelivered " << truck.top().first << " palettes to " << truck.top().second;
      truck.pop();
   }
}








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