//二分查找,在数组非递减地排序时对数组进行二分查找
#include <iostream>
using namespace std;
int Dich_search(int a[],int left,int right, int value)
{
if(left<right)
{
int mid=(left+right)/2;
if(a[mid]==value) return mid;
if(a[mid]>value) Dich_search(a,left,mid,value);
if(a[mid]<value) Dich_search(a,mid+1,right,value);
}
return -1;
}
int main(int argc, char *argv[])
{
// int a[6]={1,2,3,4,5,6};
int n,value;
cout<<"n="; cin>>n;
cout<<"value="; cin>>value;
int a[n];
for(int i=0;i<n;i++) cin>>a[i];
int b=Dich_search(a,0,sizeof(a)/sizeof(int)-1,value);
cout << b << endl;
return 0;
}
二分查找
最新推荐文章于 2023-05-28 13:59:52 发布