二分查找

来源:互联网 发布:单词社交网络好用吗 编辑:程序博客网 时间:2024/06/05 06:56
#include <stdio.h>int binarySearch(int arr[],int len,int key);int main(void){    int arr[] = {2,3,5,6};        int pos = binarySearch(arr,4,5);        if(pos==-1){        printf("%s\n", "不能找到该值!");    }else{        printf("该值的位置是:%d\n",pos);    }    return 0;}/*    注意点:二分查找必须是有序的数组 */int binarySearch(int arr[],int len,int key){    int low = 0;    int high = len-1;    int mid;    while(low<=high){        mid = (low+high)/2;        if(key==arr[mid]){            return mid;        }else if(key<arr[mid]){            high = mid-1;        }else{            low = mid+1;        }    }    return -1;}

0 0