C++ 之 Vector 容器

一、简介

同一种类型对象的一个集合,每一个对象都有一个整型的索引,也就是顺序容器。

二、初始化

<1> 在定义的时候进行初始化:

1. vector <int> a;                       构造一个空的容器

2. vector <int> a(n);                有 n 个元素,每个元素都是默认值,跟类型相关(如:int、0; string、“”)

3. vector <int> a(n, value);       n 个元素,每个元素都是指定的 value 值

<2> 用数组进行初始化

    int a[3] = {1, 2, 3};
    for(int i=0; i<3; i++){
       vec.push_back(a[i])
    }

    vector<int>vec(&a[0], &a[3]);

    vector<int>b;
    b.reserve(10);
    int array[3] = {1, 2, 3};
    b.insert(b.begin(), &array[0], &array[3]);

三、方法

1、push_back

2、pop_back

3、size

4、capacity

5、empty

6、reserve(n)

其中值得注意的是 reserve 这个方法,他会强制把容量改为至少为 n 的大小,这样可以避免很多没有必要的空间重新分配。

    vector<int>b;
    b.reserve(1000);

四、遍历与修改

1、使用 size 进行遍历

    vector<int>a(10);
    cout<<"a.size: "<< a.size()<<endl;
    for(vector<int>::size_type i = 0; i<a.size(); i++){
        cout<<"i: "<<a[i]<<endl;
    }
2、使用 iterator 进行遍历

    for(vector<int>::iterator iter = a.begin(); iter!=a.end(); iter++){
        cout<<"i: "<<*iter<<endl;
    }
3、修改的时候要注意,必须先设定容量再进行修改。

    //这种做法是错误的
    vector<int>c;
    c[2]= 3;

4、定义二维数组的方法

vector<vector<int> >dp(m+1, vector<int>(n+1));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值