C++/Set Multiset/multiset equal range
Use equal_range to determine lower and upper bound of a value in int Multiset
<source lang="cpp">
- include <iostream>
using std::cout; using std::endl;
- include <set> // multiset class-template definition
- include <algorithm> // copy algorithm
- include <iterator> // ostream_iterator
int main() {
int a[ 10 ] = { 7, 22, 9, 1, 18, 30, 100, 22, 85, 13 }; std::multiset< int, std::less< int > > intMultiset; std::ostream_iterator< int > output( cout, " " ); // insert elements of array a into intMultiset intMultiset.insert( a, a + 10 ); cout << "\nAfter insert, intMultiset contains:\n"; std::copy( intMultiset.begin(), intMultiset.end(), output ); // p represents pair of const_iterators std::pair<std::multiset< int, std::less< int > >::const_iterator, std::multiset< int, std::less< int > >::const_iterator > p; // p = intMultiset.equal_range( 22 ); cout << "\n\nequal_range of 22:" << "\n Lower bound: " << *( p.first ) << "\n Upper bound: " << *( p.second ); cout << endl; return 0;
}
/*
After insert, intMultiset contains: 1 7 9 13 18 22 22 30 85 100 equal_range of 22:
Lower bound: 22 Upper bound: 30 */ </source>