vector的基本操作
-
v.push _back(<T>)
:可以往vector中添加元素,当容器满了之后,容器会自动动态扩容,会重新建一个vector容器,然后将原vector容器的内容拷贝至新容器中。在动态扩容时会多扩充一些空位,以防下次再次增加数据。 -
fill(v.begin(), v.end(), 0)
:将vector中的元素置为0。 -
myvector.erase()
:删除vector中的元素myvector.erase(myvector.begin() + num); //删除容器中的第num+1个元素 myvector.erase(myvector.begin(), myvector.begin()+3); //删除容器中前3个元素
-
find(v.begin(), v.end(), key) != v.end();
:在vector中是否存在某值key; -
v.size()
:表示实际容器中保存元素的个数,可以通过调用v.resize(size_type)
在容器尾部添加/删除一些元素来改变容器的size值; -
v.capacity()
:表示在重新分配之前该容器v允许存放元素的个数;可以通过调用v.reserve(size_type)
设置capacity的值,该函数强制容器把它的容量改为至少n,提供的n不小于当前容量。一般强迫进行重新分配,因为容量需要增加。值得注意的是:如果n小于当前容量,vector会忽略它,该调用什么都不会做; -
v1.swap(v2)
:可以交换两个容器v1和v2中的元素; -
v.clear()
:可以清空vector中的元素,使vector的size变为0,capacity不发生变化; -
v.shrink_to_fit()
:函数用于减少容量以适应元素个数。值得注意的是:该函数请求容器降低其容量和size匹配,但该请求不具有约束力,容器可以*地去执行其他的优化方案(capacity可以大于size)。该方法由编译器决定是否真正释放多余的内存,该方法仅是提出请求,是否实现仍由编译器决定。 -
merge()
:合并两个int类型的vector://在使用merge()合并两个容器前需要提前准备需要的存储空间 v3.resize(v1.size( )+ v2.size( )); merge(v1.begin(),v1.end(),v2.begin(),v2.end(),v3.begin()); //在merge()函数中使用back_inserer不需要提前准备空间 merge(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserer(v4)); //依次将容器v1和容器v2中的元素插入到容器v3的begin()位置中
-
insert()
:在容器v1的end()位置依次插入容器v2中的元素;v1.insert(v1.end(),v2.begin(),v2.end());
上一篇: vector动态数组的基本操作
下一篇: vector的基本操作