二分查找,代码亲测。
#include<stdio.h>
#define N 10
void insearch(int m[],int );
int main(){
int m[N]={10,4,78,54,23,1,41,54,66,10};
int goal;
scanf("%d",&goal);
insearch(m,goal);
return 0;
}
void insearch(int m[],int goal){
int left,high,mid;
left=0;high=N-1;
while(left<=high){
mid=(left+high)/2;
if(m[mid]==goal) {
printf("%d",mid);
return ;
}
if(goal<m[mid]) high=mid-1;
if(goal>m[mid]) left=mid+1;
}
printf("不存在%d",goal);
}
如需学习八大排序,点击https://blog.csdn.net/huang1600301017/article/details/80976925