使用递归的方式实现二分查找,代码中输出用的c++,如果是c的话,只要将头文件改成#include<stdio.h>,删除命名空间using namespace std;
并且将输出cout<<换成printf()的形式即可~~
#include <iostream>
using namespace std;int binsearch(int *a,int x,int left,int right);
void main()
{
int arr[]={2,4,6,8,10,12,14,16,18,20};
int result;
int num;
num=18;
result=binsearch(arr,num,0,9);
if(result<0)
cout<<"没有找到要找的数"<<endl;
else
cout<<"在arr["<<result<<"]中找到"<<num<<endl;