#include <iostream>
using namespace std;
int search(int a[], int len, int terget) {
int low = 0, high = len - 1, mid; //初始化low,high,mid的位置
while (low <=high)
{
mid = (low + high) / 2;//指针取中间
if (a[mid] == terget)return mid;
else if (a[mid] > terget)high = mid - 1;
else low = mid + 1;
}
return -1;
}
int main()
{
int a[] = { 1,2,3,4,5,6,7,8,9,10 };//必须是已经排序好的数组
int rusult;
rusult=search(a, sizeof(a) / sizeof(int), 11);
cout << rusult<<endl;
}
结果为:-1
发表回复