折半查找(二分法查找)

二分查找,代码亲测。

#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

猜你喜欢

转载自blog.csdn.net/huang1600301017/article/details/81022277