//C语言版
int BinarySearch(const ElementType A[], ElementType X ,int N)
{
int begin=0,end=N-1,middle;
while(end>=begin)
{
middle=(begin+end)/2;
if(A[middle]==X)
return middle;
else if(A[middle]>X)
end=middle-1;
else
begin=middle+1;
}
return -1;
}