#include <iostream>
using namespace std;
//二分查找,在长度为len的数组array中查找key元素,找到则返回key元素在数组中的下标,找不到返回-1
int binary_search(int array[], int len, int key)
{
int start = 0;
int end = len - 1;
while(start <= end)
{
int middle = (start + end) / 2;
if(array[middle] == key)
{
return middle;
break;
}
else if(array[middle] < key)
{
start = middle+1;
}
else
{
end = middle - 1;
}
}
return -1;
}
int main()
{
int array[10] = {1,2,3,4,5,6,7,8,9,10};
int loc = binary_search(array,10,0);
cout<<"loc="<<loc<<endl;
}
二分查找算法
最新推荐文章于 2021-06-15 10:06:58 发布