码迷,mamicode.com
首页 > 编程语言 > 详细

C语言-二分法入门

时间:2017-02-11 12:32:56      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:pad   class   can   arch   std   binary   ret   print   rip   

输入十个数,求中间的….

#include<cstdio>

int binary_search(int arr[],int SizeOfArray,int key);

int binary_search(int arr[],int SizeOfArray,int key){

    int left=0,mid;
    int right=SizeOfArray-1;

    while(left<=right){
        mid=(left+right)/2;
        if(key==arr[mid])
           printf("%d",mid);
           break;
        if(key<arr[mid])
            right=mid-1;
        if(key>arr[mid])
            left=mid+1;
    }

    return -1;
}

int main()
{
    int key;
    scanf("%d",&key);
    int a[10]={1,2,3,4,5,6,7,8,9,10};
    binary_search(a,9,key);

    return 0;
}

测试

/* 1 2 3 4 5 6 7 8 9 */

C语言-二分法入门

标签:pad   class   can   arch   std   binary   ret   print   rip   

原文地址:http://www.cnblogs.com/anstoner/p/6388945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!