#include <stdio.h>
#define N 5
int Bsearch(int a[],int low,int high,int key)
{
int mid;
while(low<=high){
mid=(low+high)/2;
if(a[mid]==key)
return 1;
else if(a[mid]>key)
high=mid-1;
else
low=mid+1;
}
if(low>high){
return 0;
}
}
int main(){
int i,L=0,H=N-1,k;
int a[N];
printf("输入数组a:\n");
scanf("%d",&a[0]);
i=1;
while(i<N){
scanf("%d",&a[i]);
if(a[i]>a[i-1])
i++;
else
printf("please input a number again:\n");
}
for(i=0;i<N;i++){
printf("%5d",a[i]);
}
printf("\n");
printf("您要查找的元素为:");
int find;
scanf("%d",&find);
k=Bsearch(a,L,H,find);
if(k==1){
printf("find the element!\n");
}
else{
printf("do not find the element!\n");
}
getchar();
getchar();
return 0;
}
折半查找C++
最新推荐文章于 2023-10-15 23:00:53 发布