Pair
This class couples together a pair of values, which may be of different types (T1 and T2). The individual values can be accessed through its public members first and second.
Implementation
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 #include <bits/stdc++.h>
using namespace std ;
template < typename A , typename B >
struct _pair {
A first ;
B second ;
_pair ( A a , B b ) : first ( a ), second ( b ) {}
bool operator ( _pair const & rh ) const {
if ( this . first == rh . first ) {
return this -> second < rh . second ;
}
return this -> first < rh . first ;
}
};
int main () {
vector < _pair < int , _pair < int , int >>> v ;
for ( int i = 0 ; i < 20 ; i ++ ) {
v . push_back ({ 1 , { rand () % 10 , i }});
}
sort ( v . begin (), v . end ());
for ( auto x : v ) {
cout << x . first << ' ' << x . second . first
<< ' ' << x . second . second << endl ;
}
return 0 ;
}