C++ Tutorial/STL Algorithms Helper/back inserter

Материал из C\C++ эксперт
Перейти к: навигация, поиск

Use back_insert_iterator to insert element into a vector

<source lang="cpp">#include <iostream>

  1. include <vector>
  2. include <algorithm>
  3. 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];
  }

}</source>

0123456789

8192057346"

Use unique_copy to copy elements in an array to list with back_inserter

<source lang="cpp">#include <iostream>

  1. include <list>
  2. include <algorithm>
  3. 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;
  }

}</source>

A
B
A
D
E