关于lower_bound与upper_bound

Posted lixiao189

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于lower_bound与upper_bound相关的知识,希望对你有一定的参考价值。

介绍:

ps:stl容器中也有这两个函数,在这里就不讲了,具体详情参考老师的课件。

  1. lower_bound( )是用来查找一个数组中第一个大于等于一个数的函数,返回值是这个数的指针。
  2. upper_bound( )是用来查找一个数组中第一个大于一个数的函数,返回值是这个数的指针。

ps:如果你强行把这两个函数的值用%d输出,那么你就可以得到函数找到的数的下标,只是编译时编译器会警告你罢了。

用法:

int arr[10005];
cout<<*upper_bound(arr+1,arr+1+100,13)<<endl;
cout<<*lower_bound(arr+1,arr+1+100,13)<<endl;
cout<<upper_bound(arr+1,arr+1+100,13)<<endl; //编译时会警告
cout<<lower_bound(arr+1,arr+1+100,13)<<endl; //编译时会警告

以上是关于关于lower_bound与upper_bound的主要内容,如果未能解决你的问题,请参考以下文章

关于lower_bound( )和upper_bound( )的常见用法

lower_bound与upper_bound

lower_bound( ) 与 upper_bound( )

lower_bound与upper_bound

为啥 C++ lower_bound() 允许返回与 val 等效的指针,而 upper_bound() 不允许

刷题记录 && 算法杂谈折半枚举与upper_bound 和 lower_bound