C++STL——vector04

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;
}

猜你喜欢

转载自blog.csdn.net/qq_40794602/article/details/80216404
今日推荐