二分查找
来源:互联网 发布:windows 7 编辑:程序博客网 时间:2024/06/03 20:40
int binary_search(int a[],int n,int key)
{
int low=0;
int high=n-1;
int mid;
while(low<=high) //这里一定要写小于等于,等于不写,则在查找边缘元素是会出错。
{
mid=(low+high)/2; //mid的计算是在while循环里面,即每循环一次更新一次,否则会造成死循环;
if(a[mid]<key)
low=mid+1;
else if(a[mid]>key)
high=mid-1;
else
return mid;
}
return 0;
}
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int index=binary_search(a,10,10);
cout<<index<<endl;
return 0;
}
{
int low=0;
int high=n-1;
int mid;
while(low<=high) //这里一定要写小于等于,等于不写,则在查找边缘元素是会出错。
{
mid=(low+high)/2; //mid的计算是在while循环里面,即每循环一次更新一次,否则会造成死循环;
if(a[mid]<key)
low=mid+1;
else if(a[mid]>key)
high=mid-1;
else
return mid;
}
return 0;
}
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int index=binary_search(a,10,10);
cout<<index<<endl;
return 0;
}
阅读全文
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- Java抽象类与接口
- 「NOI题解报告」 NOI2010 能量采集
- 二分查找
- 第2章 编译和链接
- 百度ueditor使用心得
- 二分查找
- [Spring学习之初出茅庐]
- AndroidStudio下建立libs、raw、、assets、selector、shape、anim、存放so
- 数字图像处理matlab版第三章亮度变换与空间滤波
- flask建站实践笔记002-admin登录页面
- iOS开发细节 | 通知怎么写?
- BGP原理及应用--H3C
- 通过jug 2.0.jar的成功下载的猜想
- 凸包算法详解-Graham扫描法