C++ lower_bound/upper_bound用法解析

1. 作用
lower_bound和upper_bound都是C++的STL库中的函数,作用差不多,lower_bound所返回的是第一个大于或等于目标元素的元素地址,而upper_bound则是返回第一个大于目标元素的元素地址。

公司主营业务:成都网站建设、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出漳县免费做网站回馈大家。

从定义就可以看出两者的差别只差在是否取等的的地方那何必要设置两个函数呢(bushi

2.使用条件
用lower_bound/upper_bound进行二分查找时必须保证查找区间为升序序列!

什么是升序序列?你小学老师没教过你吗(bushi 举个例子你就明白了:

        从第一个元素开始,后面的每一个元素都会大于等于前面一个元素

   显然造成这种限制的原因就是出现在制作STL库的人身上 Orz,因为他所写的比较器是‘<’。

3.用法
lower_bound和upper_bound的用法与sort类似:

1 lower_bound(起始位置first,结束位置last,目标元素val);
2 upper_bound(起始位置first,结束位置last,目标元素val);
3  //lower_bound/upperbound的返回值是一个地址值,若要得到目标元素的下标,直接减去数组首地址的值即可

网页名称:C++ lower_bound/upper_bound用法解析
本文路径:http://azwzsj.com/article/dsoigop.html