C语言二分查找法

来源:互联网 发布:淘宝旺旺均匀分流方法 编辑:程序博客网 时间:2024/05/20 18:43
#include <stdio.h>#include <stdlib.h>int halfSearch(int data[], unsigned int len, int key){    int low = 0;    int high = len;    while(low <= high)    {        int midder = (low+high)/2;        if(data[midder] == key)        {            return midder;        }        else if(data[midder] > key)        {            high = midder-1;        }        else        {            low = midder+1;        }    }    return -1;}int main(){    int data[] = {0,1,2,3,4,5,6,7,8,9};    int pos;    printf("please input number between 0 and 9 : ");    scanf("%d", &pos);    printf("find index %d\n", pos, halfSearch(data, sizeof(data)/sizeof(int), pos));    system("pause");    return 0;}

0 0