//非递归实现
int BinarySearch(int A[], int length, int number)
{
if(A==NULL || length<=0)
return -1;
int start=0;
int end=length-1;
while(start<end)
{
int mid=(start+end)/2;
if(A[mid]==number)
return mid;
else
if(A[mid]>number)
{
end=mid-1;
}
else
start=mid+1;
}
return -1;
}
//递归实现
int BinarySearch(int A[], int start, int end,int number)
{
if(A==NULL || start<end||start<0)
return -1;
int mid=(start+end)/2;
if(A[mid]>number)
return BinarySearch(A,start,mid-1,number);
if(A[mid]<number)
return BinarySearch(A,mid+1,end,number);
if(A[mid]==number)
return mid;
}二分查找法递归和非递归实现
最新推荐文章于 2025-07-07 09:50:21 发布
本文介绍了二分查找算法的两种实现方式:非递归和递归。通过具体的代码示例展示了如何在有序数组中查找指定元素的位置。

2089

被折叠的 条评论
为什么被折叠?



