STL算法区间(Range)

      STL算法处理的都是半开区间。例如,如果这样使用std::sort操作:

      此时,算法处理的是pos1到pos2之前的一个元素,即[pos1, pos2);

如果要包括pos2指向的元素,那么应该这样操作:

 

      另外一个要注意的是,传入的两个迭代器形成的区间必须是有效区间,所谓有效是指:从起点出发,逐一遍历,能够到达终点。也就是说程序员必须保证传入的两个迭代器必须属于同一个元素,前后放置正确,否则结果无法预料(每种实现应对这个错误的方法不同)

 

      有些算法可以同时处理多个区间,此时必须确保第二个区间的元素个数大于等于第一个区间的元素个数。特别是执行覆盖操作(如copy)的时候,必须保证目标区间够大。

 

解决办法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值