首页 > 其他 > 详细

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

时间:2015-12-05 21:01:14      阅读:324      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!