二分查找

#include<stdio.h>  
#include<stdlib.h>  
int a[1000000+10];  
int main(){  
    int i,j,k,m,n,max=0;  
    scanf("%d%d",&n,&k);  
    for(i=1;i<=n;i++)  
        scanf("%d",&a[i]);  
    int l=1,r=n;  
    while(l<=r){  
        m=(l+r)/2;  
        if(a[m]==k){  
            printf("%d",m);  
            break;  
        }else if(a[m]<k)  
            l=m+1;  
        else if(a[m]>k)  
            r=m-1;        
    }  
    if(l>r)printf("-1\n");  
    system("pause");  
    return 0;  
}

posted @ 2016-09-06 20:44  Drinkwater_cnyali  阅读(99)  评论(0编辑  收藏  举报