Mega Code Archive

 
Categories / C++ Tutorial / Queue Stack
 

Stack of pairs

#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();    } }