在一个有序数组中查找目标值,查找成功返回下标,查找失败返回-1;
代码如下:
#include<iostream>
using namespace std;
search_bineray(int a[],int target,int left,int right) //a为数组,target为需要查找的值
{
if(left<=right)
{
int mid = (left+right)/2;
if(target<a[mid])
{
search_bineray(a,target,left,mid-1);
}
else if(target>a[mid])
{
search_bineray(a,target,mid+1,right);
}
else return mid;
}
else return -1;
}
int main()
{
int a[] = {1,3,7,9,13,18,20};
int target = 13;
int site;
site = search_bineray(a,target,0,6);
cout<<site;
return 0;
}