二分查找
#include<iostream>
using namespace std;
void binary_find(int *a,int begin,int end,int v)
{
int middle=(begin+end)/2;
if(a[middle]==v)
{
cout<<middle<<endl;
return;
}
else
if(begin==end)
{
cout<<"NIL"<<endl;
return;
}
if(a[middle]>v)
binary_find(a,begin,middle,v);
else
binary_find(a,middle,end,v);
}
int main()
{
int a[]={1,2,3,4,5,6,7};
binary_find(a,0,7,5);
}

浙公网安备 33010602011771号