insert

Syntax:

    #include <deque>
    iterator insert( iterator loc, const TYPE& val );
    void insert( iterator loc, size_type num, const TYPE& val );
    template<typename input_iterator>
    void insert( iterator loc, input_iterator start, input_iterator end );

The insert() function either:

  • inserts val before loc, returning an iterator to the element inserted,
  • inserts num copies of val before loc, or
  • inserts the elements from start to end before loc.

For example:

   // Create a deque, load it with the first 10 characters of the alphabet
   deque<char> alphaDeque;
   for( int i=0; i < 10; i++ ) {
     static const char letters[] = "ABCDEFGHIJ";
     alphaDeque.push_back( letters[i] );
   }
 
   // Insert four C's into the deque
   deque<char>::iterator theIterator = alphaDeque.begin();
   alphaDeque.insert( theIterator, 4, 'C' );
 
   // Display the deque
   for( theIterator = alphaDeque.begin(); theIterator != alphaDeque.end(); ++theIterator ) {
     cout << *theIterator;
   }

This code would display:

   CCCCABCDEFGHIJ

This next example uses several different methods to add data to a deque, and then uses the copy algorithm to display the deque:

   deque<int> dq;
   dq.push_back(42);
   dq.push_front(1);
   dq.insert( dq.begin()+1, 2 );
   dq[2] = 16;
   copy( dq.begin(), dq.end(), ostream_iterator<int>(cout," ") );  // displays "1 2 16"

Related Topics: assign, erase, push_back, push_front