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
| #include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <limits>
using namespace std;
struct gen
{
gen():i(0){}
int operator()()
{
return i++ ;
}
int i;
};
int main(int argc, unsigned char* argv[])
{
srand(0);
std::vector<int> m_vect(100);
/*init vector*/
std::generate(m_vect.begin(),m_vect.end(),gen());
std::random_shuffle(m_vect.begin(),m_vect.end());
std::vector<int>::iterator pos = std::partition
(
m_vect.begin(),
m_vect.end(),
bind2nd(less<int>(), 25)
);
std::cout<<std::distance(m_vect.begin(),pos)<<std::endl;
return 0;
} |
Partager