一、简介
1.头文件
# include<vector>
2.向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container),在内存中连续排列,因此可以通过下标快速访问,时间复杂度为O(1)。可以简单的认为,向量是一个能够存放任意类型的动态数组。
3.当加入的数据大于vector容量(capacity)时会自动扩容,系统会自动申请一片更大的空间,把原来的数据拷贝过去,释放原来的内存空间。
二、声明&访问
1.vector的声明
vector<int> vec; //声明一个空数组
//初始化数组
vector<int> a(10); //定义了大小为10的向量,一般默认为0(视编译器而定,有的可能不会赋初值)
vector<int> a(10,1); //定义了10个整型元素的向量,且给出每个元素的初值为1
vector<int> a(b); //用b向量来创建a向量,整体复制性赋值
vector<int> a(b.begin(),b.end()); //定义了a值为b中第0个到第2个(共3个)元素
int b[7]={1,2,3,4,5,9,8};
vector<int> a(b,b+7); //从数组中获得初值
vector<int> a(&b[1],&b[4]);//将b[1]至b[4]作为a的初始值