#include <cstdio>
int binarySearch(int A[],int left,int right,int x){
//[left,right],初值[0,n-1]。
int mid;
//left和right的中点。
while(left<=right){ //如果left>right就没有闭区间了。
mid=(left+right)/2; //取中点。
if(A[mid]==x) return mid; //找x,返回下标。
else if(A[mid]>x){ //中间数大于x。
right=mid-1; //左子区间[left,mid-1]查找。
}else{ //中间数小于x。
left=mid+1; //右子区间[mid+1,right]查找。
}
}
return -1;
}
int main(){
const int n=10;
int A[n]={1,3,4,6,7,8,10,11,12,15};
printf("%d %d\n",binarySearch(A,0,n-1,6),binarySearch(A,0,n-1,9));
return 0;
}
你的文章内容非常专业,让人佩服。http://www.enkicrafter.com
你的文章让我感受到了快乐,每天都要来看一看。http://www.smkj56.com
你的文章内容非常用心,让人感动。 https://www.yonboz.com/video/98239.html
你的文章让我心情愉悦,真是太棒了! http://www.55baobei.com/jTpJulYe8Z.html