deque::insert (STL Samples)

Illustrates how to use the deque::insert Standard Template Library (STL) function in Visual C++.

iterator insert( 
   iterator Iter, 
   const T& x = T( ) 
void insert( 
   iterator Iter, 
   size_type n, 
   const T& x 
void insert( 
   iterator Iter, 
   const_iterator First, 
   const_iterator Last 


The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

Each function inserts a sequence specified by the remaining operands after the element pointed to by Iter in the container. The first member function inserts a single element with value x and returns an iterator that points to the newly inserted element. The second member function inserts a repetition of n elements of value x. The third member function inserts the sequence [First, Last).

// insert.cpp
// compile with: /EHsc

#include <iostream>
#include <deque>

using namespace std;

typedef deque<char >  CHARDEQUE;
void print_contents (CHARDEQUE  deque);

int main()
    //create a with 3 A's
    CHARDEQUE  a(3,'A');

    //create b with 2 B's.
    CHARDEQUE  b(2,'B');

    //print out the contents
    print_contents (a);
    print_contents (b);

    //insert 'X' to the beginning of a
    print_contents (a);

    //insert 'Y' to the end of a
    print_contents (a);

    //inset 3 'Z's to one item before the end of a
    print_contents (a);

    //insert to the end of a from b
    print_contents (a);


//function to print the contents of deque
void print_contents (CHARDEQUE  deque)
    CHARDEQUE::iterator pdeque;

    cout <<"The output is: ";

    for(pdeque = deque.begin();
        pdeque != deque.end();
        cout << *pdeque <<" " ;

The output is: A A A 
The output is: B B 
The output is: X A A A 
The output is: X A A A Y 
The output is: X A A A Z Z Z Y 
The output is: X A A A Z Z Z Y B B 

Header: <deque>

Community Additions