lower_bound和upper_bound的使用方法

使用方法

刚好最近在给学弟学妹讲二分,应该是我没讲明白。。

还是写出来比较好。

lower_bound和upper_bound的头文件都是algorithm。

需要传入三个参数,数组头begin,数组尾end,以及你需要查找的数num。

在使用时,需要保证数组(容器)需要有序。

最好是递增的,因为递减需要重载,之前没讲清楚。。

递增数组

lower_bound( begin,end,num),即在begin到end-1中查找第一个大于等于的数,并且返回该数的地址,减去begin之后,得到与begin的相对位置。

upper_bound与lower_bound使用方法相同,但是查找的是第一个大于的数,不会查找等于的。

递减数组

lower_bound( begin,end,num,greater< Type >() ),即在begin到end-1中查找第一个小于等于的数,并且返回该数的地址,减去begin之后,得到与begin的相对位置。

upper_bound与lower_bound使用方法相同,但是查找的是第一个小于的数,不会查找等于的。

greater函数头文件是functional。

注意二分的范围是begin~end-1。

阅读更多...
  • © 2015-2021 sakurakarma
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信