#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int Find(int A[],int x) //折半查找
{
if(A = NULL)
exit(1);
else
{
int low = 0,high = x-1;
int mid;
while(low <= high)
{
mid = ((low + high)/2);
if(A[mid]<x)
{
low = mid-1;
mid = (low + high)/2;
}
else if(A[mid]>x)
{
high = mid-1;
mid = (low + high)/2;
}
else
return mid;
}
}
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
int Find(int A[],int x) //折半查找
{
if(A = NULL)
exit(1);
else
{
int low = 0,high = x-1;
int mid;
while(low <= high)
{
mid = ((low + high)/2);
if(A[mid]<x)
{
low = mid-1;
mid = (low + high)/2;
}
else if(A[mid]>x)
{
high = mid-1;
mid = (low + high)/2;
}
else
return mid;
}
}
}
int main()
{
int a[] = {1,2,3,5,9,15,36,46,78,95};
int ph = Find(a,46);
printf("a[%d] = %d\n",ph,a[ph]);
return 0;
}