Mega Code Archive

 
Categories / C++ Tutorial / STL Algorithms Modifying Sequence Operations
 

Copy only unique elements in a vector into another vector

#include <iostream> using std::cout; using std::endl; #include <algorithm> #include <vector> #include <iterator> int main() {    const int SIZE = 10;    int a1[ SIZE ] = { 1, 3, 5, 7, 9, 1, 3, 5, 7, 9 };    std::vector< int > v1( a1, a1 + SIZE ); // copy of a    std::ostream_iterator< int > output( cout, " " );    cout << "Vector v1 contains: ";    std::copy( v1.begin(), v1.end(), output );    std::vector< int > results1;    std::unique_copy( v1.begin(), v1.end(), std::back_inserter( results1 ) );    cout << "\nAfter unique_copy results1 contains: ";    std::copy( results1.begin(), results1.end(), output );    return 0; } Vector v1 contains: 1 3 5 7 9 1 3 5 7 9 After unique_copy results1 contains: 1 3 5 7 9 1 3 5 7 9