|
发表于 2009-10-31 01:18:29
|
显示全部楼层
IP:江苏扬州
#include<vector> //向量容器头文件 #include<algorithm> //数值算法头文件 #include<iostream> using namespace std;
bool greater5(int value) { return value>5; }
int main() { vector <int>v1, v2; //定义向量容器 vector <int>::iterator Iter1; //迭代器 - 向量指针 for(int i=0; i<=10; i++) { v1.push_back(i); //向量V1后端插入i }
random_shuffle(v1.begin(), v1.end()); //将V1的元素乱序重置 //实际上就是产生随机的[n],使V1的元素按该底数序列重排列
cout<<"Vector v1 is ( "; for(Iter1=v1.begin(); Iter1!=v1.end(); Iter1++) cout<<*Iter1<<" "; //输出乱序重置后的V1
cout<<")."<<endl; //Partition the range with predicate greater5 //分区重排列依据函数greate5的条件(>5) partition(v1.begin(), v1.end(), greater5); //将V1的值分成两组,符合greate5条件的一组,不符的一组
cout<<"The partitioned set of elements in v1 is: ( "; for(Iter1=v1.begin(); Iter1!=v1.end(); Iter1++) cout<<*Iter1<<" "; //输出分组后的V1
cout<<")."<<endl; return 0; } |
|