/**
*折半查找
*/
#include <stdio.h>
#include <stdlib.h>
#define MAX_LENGTH 10
int init_arrary[MAX_LENGTH];
void findGetNumber(int key)
{
int i=0;
int mid;
int low = 0;
int height = 0;
int length = MAX_LENGTH;
height = length;
while(low<=height)
{
mid = (height+low)/2;
printf("init_arrary[mid]= %d\n",init_arrary[mid]);
if(init_arrary[mid] == key)
{
i = mid;
printf("--------------------find mid %d\n",mid);
break;
}
else if(init_arrary[mid]>key)
{
height = mid-1;
}
else if(init_arrary[mid]<key)
{
low = mid+1;
}
printf("low=%d\t height=%d\n",low,height);
}
return i;
}
int main()
{
int i = 0;
for(i=0;i<10;i++)
{
init_arrary[i] = i*i;
printf("%d\n",init_arrary[i]);
}
findGetNumber(81);
getchar();
}