vector中的基本操作函数

16 篇文章 1 订阅
本文详细介绍了C++标准库中的vector容器,包括push_back动态扩容、fill元素初始化、erase删除元素的方法,以及find元素查找、resize容量调整、reserve预设容量、swap元素交换、clear清空容器、shrink_to_fit优化容量、merge合并向量、insert插入元素等操作。通过实例展示了如何在实际编程中高效使用vector。
摘要由CSDN通过智能技术生成
  1. v.push _back(<T>):可以往vector中添加元素,当容器满了之后,容器会自动动态扩容,会重新建一个vector容器,然后将原vector容器的内容拷贝至新容器中。在动态扩容时会多扩充一些空位,以防下次再次增加数据。
  2. fill(v.begin(), v.end(), 0):将vector中的元素置为0。
  3. myvector.erase():删除vector中的元素
myvector.erase(myvector.begin() + num);
//删除容器中的第num+1个元素
	
myvector.erase(myvector.begin(), myvector.begin()+3);
//删除容器中前3个元素
  1. find(v.begin(), v.end(), key) != v.end();:在vector中是否存在某值key;
  2. v.size():表示实际容器中保存元素的个数,可以通过调用v.resize(size_type)在容器尾部添加/删除一些元素来改变容器的size值;
  3. v.capacity():表示在重新分配之前该容器v允许存放元素的个数;可以通过调用v.reserve(size_type)设置capacity的值,该函数强制容器把它的容量改为至少n,提供的n不小于当前容量。一般强迫进行重新分配,因为容量需要增加。值得注意的是:如果n小于当前容量,vector会忽略它,该调用什么都不会做;
  4. v1.swap(v2):可以交换两个容器v1和v2中的元素;
  5. v.clear():可以清空vector中的元素,使vector的size变为0,capacity不发生变化;
  6. v.shrink_to_fit():函数用于减少容量以适应元素个数。值得注意的是:该函数请求容器降低其容量和size匹配,但该请求不具有约束力,容器可以自由地去执行其他的优化方案(capacity可以大于size)。该方法由编译器决定是否真正释放多余的内存,该方法仅是提出请求,是否实现仍由编译器决定。
  7. 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()位置中
  1. insert():在容器v1的end()位置依次插入容器v2中的元素;
v1.insert(v1.end(),v2.begin(),v2.end());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值