标签:二分 cout STL 位置 bound C++ int 查找 ar
C++STL提供几个二分查找的方法。
lower_bound()返回第一个大于等于查找值的指针,函数接受三个参数,开始位置,结束位置,查找值。
upper_bound()返回第一个大于查找值的指针,函数接受三个参数,开始位置,结束位置,查找值。
binary_search()返回bool类型,是否找到对应数字,函数接受三个参数,开始位置,结束为止,查找值。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int ar[] = {2,7,8,9,12,13,27,28,39,100,119,121,130};
int len = sizeof(ar)/sizeof(ar[0]);
int *pstVar = lower_bound(ar, ar+len, 39); //返回第一个大于等于查找值的指针
cout<<*pstVar<<endl;
cout <<*upper_bound(ar, ar+len, 39)<<endl; //返回第一个大于查找值的指针
cout<<binary_search(ar, ar+len, 38)<<endl;
cout<<binary_search(ar, ar+len, 39)<<endl;
return 0;
}
运行结果
39
100
0
1
标签:二分,cout,STL,位置,bound,C++,int,查找,ar 来源: https://www.cnblogs.com/smghj/p/15962764.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。