Vector
概述
一个动态大小数组的顺序容器,类似 Python 中 list 的数据类型,能够增加和压缩数据
vector 是同一种类型的对象的集合,每个对象都有一个对应的整数索引值
和 string 对象一样,标准库将负责管理与存储元素相关的内存
容器特性
1. 顺序序列
严格按序存储,可通过元素序列位置访问对应元素
2. 动态数组
可利用指针快速访问任意元素以及对数据进行删除
3. Allocator-aware
动态感知内存空间信息
vector使用实例
初始化
func | |
---|---|
vector v1; | 构造空vector |
vector v2(v1); | 根据v1构造v2,v1,v2 类型相同 |
vector v3(n, i); | 构造大小为n,默认值为i的vector |
vector v4(n); | 构造大小为n,默认值为0的vector |
Vector 作为函数的参数或者返回值时,需要注意它的写法:其中的“&”绝对不能少!!!
doubleDistance(vector<int>&a, vector<int>&b)
基本操作
#include<vector>//vector所需头文件
vector<int>vec(5, 9);//创建vector对象 vec
vec.push_back(1);//尾部插入
vec.push_back(2);//把1和2压入vector,这样test[0]就是1,test[1]就是2
vector<int>::iterator it;//利用iterator 访问元素
for (it = vec.begin(); it != vec.end(); it++)
cout << *it << endl;
vec.insert(vec.begin()+i,a); 在第i+1个元素前面插入a;
vec.erase(vec.begin()+2) ; 删除第3个元素
vec.erase(vec.begin()+i,vec.end()-j); 保留前i以及后j个元素 区间从0开始
vec.size();//获得vector大小
vec.clear();//清空: