1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
#include <vector>
#include <utility>
#include <algorithm>
#include <iostream>
int main()
{
std::vector<std::pair<int, int>> v =
{
std::pair<int, int>( 0, 13 ),
std::pair<int, int>( 20, 25 ),
std::pair<int, int>( 0, 13 ),
std::pair<int, int>( 20, 25 ),
std::pair<int, int>( 30, 30 ),
std::pair<int, int>( 170, 179 )
};
for ( std::pair<int, int> p : v )
{
std::cout << '<' << p.first << ',' << p.second << ">\n";
}
std::cout << std::endl;
auto it = std::remove_if( v.begin(), v.end(),
[]( const std::pair<int, int> &p )
{
return ( p.first == p.second );
} );
std::sort( v.begin(), it );
v.erase( std::unique( v.begin(), it ), v.end() );
for ( std::pair<int, int> p : v )
{
std::cout << '<' << p.first << ',' << p.second << ">\n";
}
std::cout << std::endl;
}
|