首页 > 其他 > 详细

二分查找

时间:2020-11-14 17:35:12      阅读:35      评论:0      收藏:0      [点我收藏+]

include <stdio.h>

include <stdlib.h>

define MAXSIZE 105

int Binary_Search(int a[],int x,int left,int right)
{
if(left>right)return;
int i=left,j=right;
int mid=(i+j)/2;
if(a[mid]==x)return mid;
else if(a[mid]>x)return Binary_Search(a,x,left,mid-1);
else return Binary_Search(a,x,mid+1,right);
while(left<=right)
{
mid=(left+right)/2;
if(K<a[mid])right=mid-1;
else if(K>a[mid])left=mid+1;
else return mid;
}

}
int binarySearch(int a[],int K,int left,int right)
{
int mid,NoFound=-1;
while(left<=right)
{
mid=(left+right)/2;
if(K<a[mid])right=mid-1;
else if(K>a[mid])left=mid+1;
else return mid;
}
return NoFound;
}
int main()
{
int a[MAXSIZE],n,x;
scanf("%d",&n);
for(int i=0;i<n ;i++)
scanf("%d",&a[i]);
scanf("%d",&x);
int position=Binary_Search(a,x,0,n-1);
printf("%d\n",position+1);
return 0;
}

二分查找

原文:https://www.cnblogs.com/dmxs/p/13973509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!