#include <stdio.h>
#include <stdbool.h>
#define SIZE 1000
bool search(int sr[],int size,int tr,int *times);
int main(void)
{
int times=1;
int sr[SIZE];
for(int i=0;i<SIZE;i++)
sr[i]=i;
printf("%d !",search(sr,SIZE,999,×));
printf("times:%d !",times);
return 0;
}
bool search(int sr[],int size,int tr,int *times)
{
printf("find %d start!\n",tr);
int left=0;
int right=size-1;
while(left<=right)
{
int mid= left+(right-left)/2;
printf("times%d:",*times);
printf("left=%d ",left);
printf("right=%d ",right);
printf("mid=%d\n",mid);
(*times)++;
if(sr[mid]==tr)
{
return true;
}
else if (sr[mid] < tr)
{
left = mid + 1;
}
else
{
right = mid - 1;
}
}
return false;
}