码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构——二分查找【转】

时间:2015-12-05 21:01:29      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:

转自: http://www.lishiyu.cn/post/45.html

二分法(折半查找) -----------效率高,但要求序列必须有序-->使用范围小了

15/2取7不是8
技术分享

/*
*       二分查找算法 ---   递归算法
*
*/
int binSearch( int array[], int low ,int high, int key)
{
    if(low<=high)
    {
        int mid =(low + high)/2;
        if(key == array[mid])
            return mid;
        else if(key < array[mid])
            return  binSearch(array, low , mid-1, key);
        else if(key > array[mid])
            return  binSearch(array, mid+1 , high, key);
    }
    else
        return -1;
}
/*
*  二分查找 ------ 非递归算法
*
*/
int binSearch( int array[], int sizeArray, int key)
{
    int low=0;
    int high= sizeArray-1;
    int mid;
    while(low<=high)
    {
        mid =(low + high)/2;
        if(key == array[mid])
            return mid;
        else if(key < array[mid])
            high = mid - 1;
        else if(key > array[mid])
            low = mid + 1;
    }
    return -1;
}

 

数据结构——二分查找【转】

标签:

原文地址:http://www.cnblogs.com/sheropan/p/5022241.html

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