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
|
#include <algorithm>
#include <iostream>
#include <string>
#include <iterator>
using namespace std;
class LessThan
{
int d_x;
public:
LessThan(int x)
:
d_x(x)
{}
bool operator()(int value) const
{
return value <= d_x;
}
};
int main()
{
int ia[] = {1, 3, 5, 7, 9, 10, 2, 8, 6, 4};
int *split;
split = partition(ia, ia + 10, LessThan{ ia[9] });
cout << "Last element <= 4 is ia[" << split - ia - 1 << "]\n";
copy(ia, ia + 10, ostream_iterator<int>{ cout, " " });
cout << '\n';
}
/*
Displays:
Last element <= 4 is ia[3]
1 3 4 2 9 10 7 8 6 5
*/
|