#include <deque>
#include <iostream>
#include <string>

using namespace std;

template <class T>
void display_deque( deque<T> vec )
{
    cout << "display_deque: ";
    for( typename deque<T>::iterator p = vec.begin(); p != vec.end(); p++ )
        cout << *p << ", ";
    cout << endl;
}


int main()
{
    deque<int> nums;
    
    // insert 1 ... 10 into nums
    for( int i=1; i<11; i++ )
        nums.push_back(i);
    
    nums.insert( nums.begin(), 99 );
    display_deque( nums );
    
    deque<int>::iterator p;
    for( p = nums.begin(); p != nums.end(); p++ )
        if( *p == 5 )
            break;
    
    nums.insert(p, 100 );
    display_deque( nums );
    
    system("pause");
}