1、二分查找代码
int find(int *a,int n,int key) //a为待查找数组,n为数组长度,key为待查找元素
{
int begin=0,end=n-1,mid=0;
while(begin<=end)
{
mid=(begin+end)/2;
if(a[mid]==key) //相等,直接返回key在数组中的位置
return mid;
else if(a[mid]>key) //key较小,在左半部分查找
end=mid-1;
else //key较大,在右半部分查找
begin=mid+1;
}
return -1; //查找失败,返回-1
}