list::insert (STL Samples)
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
);
Remarks
备注
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).
Example
// 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;
}
Output
lintInt: 1 2 3 lintInt: 1 2 3 4 4 4 lintInt: 1 2 3 4 4 4 5 6 7 lintInt: 1 2 3 4 4 4 5 6 7 10 11 12
Requirements
Header: <list>