编程珠玑第四章
2012-07-27 10:53 javaspring 阅读(310) 评论(0) 收藏 举报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
}
 
 
                    
                     
                    
                 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号