vector<的很多的用法>

本文探讨了C++ STL库中Vector容器的多种使用技巧,包括高效删除、修改及插入元素的操作,详解了lower_bound与upper_bound函数的用法,展示了如何利用这些功能提升程序效率。

第一次感觉vector有很多的用法,我们可以在vector里面进行删除和修改操作,复杂度都是log(n)还有就是lower_bound()和upper_bound()

加上这些的东西,感觉stl解决的问题就是更多了。

lower_bound():  在first和last的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置

upper_bound();  返回一个迭代器指向其中最后一个这个元素的下一个位置(明确点说就是返回在不破坏顺序的情况下,可插入value的最后一个位置)

然后用法就是:

location=low_bound(s.begin(),s.end(),value);
就是删除操作: vec.erase(vec.begin()+2);删除第3个元素

插入元素: vec.insert(vec.begin()+i,a);在第i+1个元素前面插入a;

区间删除: vec.erase(vec.begin()+i,vec.end()+j);删除区间[i,j-1];区间从0开始

然后我们再解决昨天没有解决的问题。

 

转载于:https://www.cnblogs.com/Heilce/p/6498528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值