vector<的很多的用法>

第一次感觉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开始

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

 

posted @ 2017-03-03 21:34  Heilce  阅读(142)  评论(0编辑  收藏  举报