C++中Insert函数的应用

每个insert函数都接受一个迭代器作为其第一个参数,将元素插入到迭代器所指的位置之前。下面介绍insert函数的5种基本用法:

1.在容器的特定位置插入元素

将hello插入到world前

c3acf0c8f305437abafcadbb692619b2.png

 768421d219364a79843179a998fe57b2.png

 vector不支持push_back,但我们可以通过insert函数将元素插入到begin()之前,且注意插入到vector末尾之外任何位置都可能很慢。

将元素插入到vector、deque和string的任何位置都是合法的,然而,这样可能很耗时。

2.将指定数量的元素插入到指定位置之前

将10个hello插入到world之前

1d08b125a1db46c7bd96be5cd9f0f39f.png

eb329d20c67f4f25835a80b247e8b908.png3. 将大括号里内容插入到指定位置之前

41f8a4e5601341ac9cd36cb437ecd22b.png

869beb063ece4557b44972d50fb9ecfe.png 

 4.插入范围内元素(3个元素均为迭代器,第一个指出插入位置,其余两个给出插入范围)

将a数组的后两个元素插入到list容器的末尾前

b92ba48b6da34874b493e8f856a624d9.png

 541494dbc853496ebdf04ae285530823.png

 接受元素个数或范围的insert版本在新标准下返回指向第一个新加入元素的迭代器(c++11标准),旧标准返回void。

5.使用insert的返回值在容器一个特定位置前反复插入元素

c533ab764a004902a66763a2104c23b7.png

 这个循环等价于调用push_back。下面我们来理解一下这个循环,第一次调用insert函数之后insert函数返回的迭代器指向我们读入的str这个新元素,我们将此迭代器赋予it并不断循环,只要不断有str读入,it就会不断更新并指向新元素,所以就可以不断在将新元素插入到list首元素之前的位置。

本篇文章为某大一新生在学习insert函数过程中的一些见解,如有不当之处,希望各位大佬可以多多指正。

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值