1.重新初始化
#include<iostream>#include<vector>
#include<algorithm>
#include<functional>
using namespace std;
void fun(int n)
{
cout<<n<<endl;
}
int main()
{
vector<int> vec;
vec.push_back(5);
vec.push_back(3);
vec.push_back(7);
vec.push_back(3);
vec.push_back(9);
vector<int> vec1(5,6);
vec.assign(vec1.begin(),vec1.end());//用另一个vector对象重新初始化
cout<<"vec.capacity():"<<vec.capacity()<<endl;
cout<<"vec.size():"<<vec.size()<<endl;
for_each(vec.begin(),vec.end(),fun);
cout<<"*************\n";
vec.assign(20,6);//另一种重新初始化的方式
cout<<"vec.capacity():"<<vec.capacity()<<endl;
cout<<"vec.size():"<<vec.size()<<endl;
for_each(vec.begin(),vec.end(),fun);
//注意容量和有效元素的个数
return 0;
}
2.乱序大法
#include<iostream>
#include<vector>
#include<algorithm>
#include<functional>
#include<ctime>
using namespace std;
void fun(int n)
{
cout<<n<<endl;
}
int main()
{
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vec.push_back(4);
vec.push_back(5);
srand((unsigned int)time(0));//设置的一个时间种子
random_shuffle(vec.begin(),vec.end());
for_each(vec.begin(),vec.end(),fun);
return 0;
}