什么是vector?
在STL(标准模板库)中,vector是一种动态数组容器,可根据需要自动增长或缩小。它可以存储任意类型的元素,并且支持快速的随机访问。
vector
是表示可变大小数组的序列容器vector
采用的是连续的存储空间来存储元素,类似于数组,但是它的大小是可以被容器自动的动态改变vector
使用动态分配数组来存储它的元素vector
会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大与其它动态序列容器相比,vector
在访问元素的时候效率更高,在末尾添加和删除元素更加高效
vector如何使用
构造函数的使用
构造函数声明 接口说明 vector 无参构造 vector(size_type n,const value_type& val=value_type()) 构造并初始化n个val vector(const vector& x) 拷贝构造 vector(InputIterator first,InputIterator last); 使用迭代器进行初始化构造
iterator的使用
iterator的使用 接口说明 begin+end 获取第一个数据位置的iterator/const_iterator,获取最后一个数据的下一个位置的iterator/const_iterator rbegin+rend 获取最后一个数据位置的reverse_iterator,获取第一个数据前一个位置的reverse_iterator
空间增长问题
空间容量 接口说明 size 获取数据个数 capacity 获取容量大小 empty 判断是否为空 resize 改变vector的size reserve 改变vector的capacity
增删查改
vector增删查改 接口说明 push_back 尾部插入一个数据 pop_back 尾部删除一个数据 find 查找 insert 在position之前插入val erase 删除position位置的数据 swap 交换两个vector的数据空间 operator[] 像数据一样访问
结构图
capacity()——表示空间的存储容量 size()——表示空间的大小 start——表示指向数据块的起始位置 finish——表示指向有效数据的尾部 end_of_storage——表示指向存储空间的尾部