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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
#include <algorithm>
#include <functional>
#include <iterator>
#include <iostream>
using namespace std;
int main()
{
int range[] = {1, 3, 5, 7, 7, 9, 9, 9};
size_t const size = sizeof(range) / sizeof(int);
pair<int *, int *> pi;
pi = equal_range(range, range + size, 6);
cout << "Lower bound for 6: " << *pi.first << '\n';
cout << "Upper bound for 6: " << *pi.second << '\n';
pi = equal_range(range, range + size, 7);
cout << "Lower bound for 7: ";
copy(pi.first, range + size, ostream_iterator<int>(cout, " "));
cout << '\n';
cout << "Upper bound for 7: ";
copy(pi.second, range + size, ostream_iterator<int>(cout, " "));
cout << '\n';
sort(range, range + size, greater<int>());
cout << "Sorted in descending order\n";
copy(range, range + size, ostream_iterator<int>(cout, " "));
cout << '\n';
pi = equal_range(range, range + size, 7, greater<int>());
cout << "Lower bound for 7: ";
copy(pi.first, range + size, ostream_iterator<int>(cout, " "));
cout << '\n';
cout << "Upper bound for 7: ";
copy(pi.second, range + size, ostream_iterator<int>(cout, " "));
cout << '\n';
}
/*
Displays:
Lower bound for 6: 7
Upper bound for 6: 7
Lower bound for 7: 7 7 9 9 9
Upper bound for 7: 9 9 9
Sorted in descending order
9 9 9 7 7 5 3 1
Lower bound for 7: 7 7 5 3 1
Upper bound for 7: 5 3 1
*/
|