C语言学习 二分法

#include <stdio.h>
int main(){
    int List[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
    int length = sizeof(List)/sizeof(List[0]);
    printf("%d\n",length);
    int a,b,x,m;
    scanf("%d",&x);
    a = 0; b = length;
    m = (a+b)/2;
    while(x !=  List[m]){
        if (x>List[m]) a = m+1;
        else b = m-1;
        m = (a+b)/2;
    }
    printf("%d",m);
}

Baniry Search

猜你喜欢

转载自www.cnblogs.com/CANntyield/p/10460098.html