天天看點

二分查找函數

數組arr中折半查找x,若x不在則傳回-1

int BinSearch(int *arr,int len,int key)
{
	int low = 0;
	int high = len-1;
	int mid;
	while(low <= high)
	{
		mid = (low+high)/2;
		if(key == arr[mid])
		{
			return mid;
		}
		else if(key < arr[mid])
		{
			low = mid+1;
		}
		else
		{
			high = mid-1;
		}
	}
	return -1;
}
           

繼續閱讀