C++Vector

  • 在C++中,vector是一个经常会被用到的容器,下面对这个容器进行说明:
    • 要想使用vector,必须包含适当的头文件:#include <vector>
    • C++语言既有类模板也有函数模板,其中vector是一个类模板,模板本身不是函数或者类,我们需要提供一些额外的信息来指定模板到底实例化成什么样的类,提供信息的方式为在模板名字后面跟一对尖括号,在括号内放上信息:
      •  vector<int> ivec;    //ivec保存int类型的对象
    • 定义和初始化vector对象:
1 vector<T> v1    v1是一个空vector,元素类型为T,执行默认初始化
2 vector<T> v2(v1)    v2中包含有v1所有元素的副本
3 vector<T> v2 = v1    等价于v2(v1)
4 vector<T> v3(n,val)    v3包含了n个重复的元素,每个元素的值都为val
5 vector<T> v4(n)    v4包含了n个重复的执行了默认初始化的对象
6 vector<T> v5{a,b,c......}    v5包含了初始值个数的元素,每个元素都赋予相应的初始值
7 vector<T> v5 = {a,b,c......}    等价于v5{a,b,c......}
    • 实际上,最常用的方式就是定义一个空的vector对象,然后利用函数push_back将值当成vector对象的尾元素压到vector对象的尾端
    • 可使用下标访问元素: vec[index] ,index由0开始
    • 使用迭代器访问元素:
1 vector<int>::iterator it;
2 for(it = vec.begin();it != vec.end();it++){
3     cout << *it << endl;  
4 }
  • 插入元素: vec.insert(vec.begin()+i,a) //将a插入到下标为i的位置上 
  • 删除元素: vec.erase(vec.begin()+2); //删除第三个元素 
  • 查看vector中元素的个数: vec.size() 
  • 清空vector: vec.clear() 
  • 二维向量:
    • 与数组相同,向量也可以增加维数,例如: vector<vector<int> > b(10,vector<int>(5));//vector b含有10个元素,每个元素都是vector<int>,每个元素都含有5个默认值初始化的元素,即5个0 
原文地址:https://www.cnblogs.com/danielStudy/p/7146539.html