v.push _back(<T>)
:可以往vector中添加元素,当容器满了之后,容器会自动动态扩容,会重新建一个vector容器,然后将原vector容器的内容拷贝至新容器中。在动态扩容时会多扩充一些空位,以防下次再次增加数据。fill(v.begin(), v.end(), 0)
:将vector中的元素置为0。myvector.erase()
:删除vector中的元素
myvector.erase(myvector.begin() + num);
myvector.erase(myvector.begin(), myvector.begin()+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:
v3.resize(v1.size( )+ v2.size( ));
merge(v1.begin(),v1.end(),v2.begin(),v2.end(),v3.begin());
merge(v1.begin(),v1.end(),v2.begin(),v2.end(),back_inserer(v4));
insert()
:在容器v1的end()位置依次插入容器v2中的元素;
v1.insert(v1.end(),v2.begin(),v2.end());