list::insert (STL Samples)
Visual Studio 2005
Illustrates how to use the list::insert Standard Template Library (STL) function in Visual C++.
iterator insert( iterator It, const T& x = T( ) ); void insert( iterator It, size_type n, const T& x ); void insert( iterator It, const_iterator First, const_iterator Last ); void insert( iterator It, const T *First, const T *Last );
Note |
|---|
| The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability. |
Each member functions inserts, before the element pointed to by it in the controlled sequence, a sequence specified by the remaining operands. 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 last two member functions insert the sequence [First, Last).
// list_insert.cpp
// compile with: /EHsc
// Shows the various ways to insert elements into a
// list<T>.
#include <list>
#include <iostream>
using namespace std ;
typedef list<int> LISTINT;
int main()
{
int rgTest1[] = {5,6,7};
int rgTest2[] = {10,11,12};
LISTINT listInt;
LISTINT listAnother;
LISTINT::iterator i;
// Insert one at a time
listInt.insert (listInt.begin(), 2);
listInt.insert (listInt.begin(), 1);
listInt.insert (listInt.end(), 3);
// 1 2 3
cout << "lintInt:";
for (i = listInt.begin(); i != listInt.end(); i++)
cout << " " << *i;
cout << endl;
// Insert 3 fours
listInt.insert (listInt.end(), 3, 4);
// 1 2 3 4 4 4
cout << "lintInt:";
for (i = listInt.begin(); i != listInt.end(); ++i)
cout << " " << *i;
cout << endl;
// Insert an array in there
listInt.insert (listInt.end(), rgTest1, rgTest1 + 3);
// 1 2 3 4 4 4 5 6 7
cout << "lintInt:";
for (i = listInt.begin(); i != listInt.end(); ++i)
cout << " " << *i;
cout << endl;
// Insert another LISTINT
listAnother.insert (listAnother.begin(), rgTest2, rgTest2+3);
listInt.insert (listInt.end(), listAnother.begin(), listAnother.end());
// 1 2 3 4 4 4 5 6 7 10 11 12
cout << "lintInt:";
for (i = listInt.begin(); i != listInt.end(); ++i)
cout << " " << *i;
cout << endl;
}
Note