C++/STL Basics/back inserter
Use back_insert_iterator to insert element into a vector
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
int main( ) {
vector<int> v;
back_insert_iterator<std::vector<int> > p = back_inserter(v);
for (int i = 0; i < 10; ++i)
*p = i;
for (int i = 0; i < 10; ++i){
cout << v[i];
}
cout << "\n\n\n";
random_shuffle(v.begin( ), v.end( ));
for (int i = 0; i < 10; ++i){
cout << v[i];
}
}
/*
0123456789
8192057346
*/
Use unique_copy to copy elements in an array to list with back_inserter
#include <iostream>
#include <list>
#include <algorithm>
#include <string>
using namespace std;
int main( ) {
string arrStr[5] = {"A", "B", "A", "D", "E"};
list<string> lstStrDest;
unique_copy(&arrStr[0], &arrStr[5], back_inserter(lstStrDest));
for (list<string>::iterator p = lstStrDest.begin( );
p != lstStrDest.end( ); ++p) {
cout << *p << endl;
}
}
/*
A
B
A
D
E
*/